Skip to content
← Back to work
Personal

brainbump

Founder & developer · 2026

A low-friction capture tool for quotes and fleeting thoughts — a local-first web app where getting a thought down never waits on the network. Capture writes to the browser instantly and syncs to the cloud in the background, so a save can never fail on a bad connection.

  • TypeScript
  • React
  • Vite
  • IndexedDB
  • Supabase
  • Cloudflare Workers

The problem

A good quote from a podcast or a book, or a fleeting thought, is gone in seconds — and a general-purpose notes app adds just enough friction (open, find a note, decide where it goes) to lose it. Worse, a browser can evict local storage without warning, so a capture tool that only lives in the browser can silently lose everything.

The approach

Built a local-first web client — React + TypeScript on Vite — where capture writes to IndexedDB synchronously and never touches the network on the save path; a background queue syncs to Supabase (Postgres with row-level security and JWT auth) afterward. The server exists purely for durability: if the browser evicts local storage, signing in restores every passage. No telemetry, ever. Deployed as a static bundle on Cloudflare Workers, and developed with a disciplined agentic SDLC — versioned requirements, ADRs, external-constraints register, and adversarial design reviews.

The result

A shipped, CI-gated web client: capture, persist, sync, and full recovery after the browser store is cleared, all guarded by release-gate end-to-end tests. Capture-first, organize-later — a thought gets in with a single keystroke.

Screenshots

brainbump Home tab: a “Quote of the day” card above a grid of saved passages, with Home / Capture / Profile navigation in the sidebar
brainbump Home tab: a “Quote of the day” card above a grid of saved passages, with Home / Capture / Profile navigation in the sidebar
brainbump Capture surface: a large “Capture a quote or a thought…” text area above a Quote/Thought toggle, optional Author and Source fields, and a Save button
brainbump Capture surface: a large “Capture a quote or a thought…” text area above a Quote/Thought toggle, optional Author and Source fields, and a Save button
brainbump Profile tab: a signed-in account with a Sign out button, a “Your data” section offering “Export my data” as a single JSON file, and a “Delete my account” control that permanently removes the account and every passage
brainbump Profile tab: a signed-in account with a Sign out button, a “Your data” section offering “Export my data” as a single JSON file, and a “Delete my account” control that permanently removes the account and every passage
brainbump Privacy section explaining that it stores only your captured passages and account email — with no analytics, tracking, or advertising — and lists Supabase and Cloudflare as the only data processors
brainbump Privacy section explaining that it stores only your captured passages and account email — with no analytics, tracking, or advertising — and lists Supabase and Cloudflare as the only data processors

Want something like this?

Tell me what you're building and I'll get back to you within 1–2 business days.

Start a conversation
brainbump · Jamo Codes