Project Info
This project did not submit a demo video on Devpost.
a second brain is useless if you have to remember to ask it questions. π‘ inspiration we hate the copy-paste tax. manually copying text, switching tabs, searching, and organizing files is a brain-rot ritual that kills cognitive momentum. we wanted something that watches what you're doing and just... hands you what you need. no searching, no switching tabs, no interrupting your flow. the right note, doc, or email shows up on its own because dumpd already knows what you're working on. this is deeply inspired by poke by interaction co. an AI that lives in the background and helps before you ask. we built that, but for developers. β‘ what it does dumpd watches your computer in real-time and surfaces the most relevant things from your personal knowledge base before you even know you need them. it reads what tabs you have open, what github PRs you're reviewing, what's running on localhost, and even what you're listening to on spotify π΅ if you put on a specific playlist while deep in a project, dumpd recognizes the song and automatically reloads your workspace and notes from that session nothing is manual. it all just happens in the background π οΈ what we built it with frontend: next.js, typescript, tailwind css, framer motion backend: hono and bun, supabase postgres AI search: pgvector, finds the most relevant notes by meaning not just keywords agentic layer: langgraph.js for orchestrating multi-step retrieval, firecrawl and jina reader for web and document ingestion redis: keeps everything fast by caching your active context so lookups are instant claude (anthropic): reads and ranks your notes, understands what you're working on, and decides what's actually relevant to surface poke (interaction co.): send anything to dumpd through poke via imessage. drop a link, paste a note, forward an email, and it lands directly in your knowledge base and becomes searchable. your messenger is now your capture layer. custom daemon: a background process we wrote that watches your open windows and browser tabs to keep context fresh π sponsor tracks best use of claude: claude is what makes the retrieval smart. it reads your notes, understands your current context, and figures out what's actually worth showing you best use of redis: redis keeps the context layer fast. without it, every lookup would stall waiting on the database interaction co. / poke: we built dumpd as a poke-native capture layer. send anything via imessage and it lands in your knowledge graph and joins the ambient retrieval loop. poke handles the input, dumpd handles the memory. π challenges we ran into cloudflare's website protection kept breaking our browser reading loop, returning empty data instead of page content our AI tunnel crashed with a 502 error and got stuck in an auth loop for hours instagram blocked us from pulling video content entirely spotify's API kept crashing, so we ended up looping mos def instrumentals on repeat for half the hackathon π accomplishments that we're proud of got a live browser overlay working that shows retrieved context directly on top of whatever you're looking at built a search that feels instant and finds the right thing by meaning, not just exact words the whole thing runs silently in the background. you never have to touch it shipped a working end-to-end retrieval loop from context detection to knowledge surfacing π what we learned scraping live websites that use cloudflare is genuinely one of the harder problems in software building something that runs constantly in the background without breaking requires way more defensive coding than you'd expect auth flows that span multiple services have a lot of places to go wrong π what's next for dumpd scale the MCP tunnel to handle production auth and multi-user sessions rewrite the browser tracker to handle complex sites and shadow dom elements deeper OS-level context beyond window titles make it fully local so your data never leaves your machine
dumpd
This project was created with Better-T-Stack, a modern TypeScript stack that combines Next.js, Self, and more.
Features
- TypeScript - For type safety and improved developer experience
- Next.js - Full-stack React framework
- TailwindCSS - Utility-first CSS for rapid UI development
- Shared UI package - shadcn/ui primitives live in
packages/ui - Drizzle - TypeScript-first ORM
- PostgreSQL - Database engine
- Authentication - Better-Auth
- Turborepo - Optimized monorepo build system
Getting Started
First, install the dependencies:
bun install
Database Setup
This project uses PostgreSQL with Drizzle ORM.
- Make sure you have a PostgreSQL database set up.
- Update your
apps/web/.envfile with your PostgreSQL connection details.
For Supabase photo uploads and Vector Buckets, also configure:
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
SUPABASE_PHOTOS_BUCKET=dumpd-photos
SUPABASE_VECTOR_BUCKET=vectordb
SUPABASE_VECTOR_INDEX=text-embedding-3-small-768
The app creates the public photo bucket and the 768-dimensional cosine vector
index when they are first used. Supabase Vector Buckets are currently a public
alpha feature, so pin and test @supabase/supabase-js upgrades. Keep the
service role key server-only; never expose it through a NEXT_PUBLIC_
variable.
- Apply the schema to your database:
bun run db:push
For MCP ingestion, set the same 32+ character MCP_INGEST_SECRET in
apps/web/.env and apps/mcp-server/.dev.vars. Also set
DUMPD_API_URL=http://localhost:3000 in the MCP development variables.
Media-to-text conversion is performed by the MCP client before it calls
Dumpd's image, music, video, or PDF save tools. MCP saves are written directly
to Postgres and displayed on the web canvas.
Then, run the development server:
bun run dev
Open http://localhost:3000 in your browser to see the fullstack application.
UI Customization
React web apps in this stack share shadcn/ui primitives through packages/ui.
- Change design tokens and global styles in
packages/ui/src/styles/globals.css - Update shared primitives in
packages/ui/src/components/* - Adjust shadcn aliases or style config in
packages/ui/components.jsonandapps/web/components.json
Add more shared components
Run this from the project root to add more primitives to the shared UI package:
npx shadcn@latest add accordion dialog popover sheet table -c packages/ui
Import shared components like this:
import { Button } from "@dumpd/ui/components/button";
Add app-specific blocks
If you want to add app-specific blocks instead of shared primitives, run the shadcn CLI from apps/web.
Project Structure
dumpd/
βββ apps/
β βββ web/ # Fullstack application (Next.js)
βββ packages/
β βββ ui/ # Shared shadcn/ui components and styles
β βββ auth/ # Authentication configuration & logic
β βββ db/ # Database schema & queries
Available Scripts
bun run dev: Start all applications in development modebun run build: Build all applicationsbun run dev:web: Start only the web applicationbun run check-types: Check TypeScript types across all appsbun run db:push: Push schema changes to databasebun run db:generate: Generate database client/typesbun run db:migrate: Run database migrationsbun run db:studio: Open database studio UI
Analysis
View
Metric
- 3
- 3
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- AnthropicIn code
- CSSIn code
- Google GeminiIn code
- JavaScriptIn code
- Next.jsIn code
- PostgreSQLIn code
- PythonIn code
- ReactIn code
- SQLIn code
- SupabaseIn code
- Tailwind CSSIn code
- TypeScriptIn code
- Vercel AI SDKIn code
13 of 13 appear in the indexed code.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
1.1 MB
Source files
174
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
Omm2005/dumpd
242 files Β· 1.8 MB Β· @ 6aee53a
Structure
Interface
32 files Β· 13%Screens, components and styles rendered to the user.
API & routing
13 files Β· 5%Request entry points: routes, handlers and controllers.
Application logic
51 files Β· 21%Domain rules, services and shared utilities.
Data & schema
40 files Β· 17%Schema definitions, migrations and data access.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here β open the file browser to check anything the diagram implies.
Languages
- TypeScript47%
- Markdown37%
- Python11%
- SQL2%
- YAML1%
- JavaScript1%
- Other (1)1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
apps/web/package.json
npm Β· 33- @ai-sdk/google
- @ai-sdk/react
- @dumpd/auth
- @dumpd/db
- @dumpd/env
- @dumpd/ui
- @heroicons/react
- @radix-ui/react-use-controllable-state
- @supabase/supabase-js
- @xyflow/react
- ai
- babel-plugin-react-compiler
- better-auth
- dotenv
- drizzle-orm
- ioredis
- lucide-react
- motion
- +15 more
packages/ui/package.json
npm Β· 20- @base-ui/react
- @hugeicons/core-free-icons
- @hugeicons/react
- @radix-ui/react-use-controllable-state
- class-variance-authority
- clsx
- lucide-react
- motion
- next-themes
- react
- react-dom
- shadcn
- sonner
- tailwind-merge
- tw-animate-css
- +5 more
package.json
npm Β· 9- @dumpd/env
- clsx
- dotenv
- tailwind-merge
- zod
- +4 more
packages/db/package.json
npm Β· 9- @dumpd/env
- dotenv
- drizzle-orm
- pg
- zod
- +4 more
apps/mcp-server/package.json
npm Β· 8- @cloudflare/workers-oauth-provider
- agents
- hono
- just-pick
- zod
- +3 more
packages/auth/package.json
npm Β· 7- @dumpd/db
- @dumpd/env
- better-auth
- dotenv
- zod
- +2 more
packages/env/package.json
npm Β· 7- @t3-oss/env-core
- @t3-oss/env-nextjs
- dotenv
- zod
- +3 more
.agents/skills/code-security-audit/claudecode/requirements.txt
pypi Β· 3- anthropic
- PyGithub
- requests
Declared in the repositoryβs manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This projectβs features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.