03 / 11Flagship / Local-First AI Assistant
MeBot
A local-first personal assistant for capturing unstructured thoughts, turning them into actions, and managing the workspace through an agent interface.

01Context
The engineering problem
Make fast, messy capture useful without forcing people to organize every thought up front or making private notes depend on a constant network connection.
Designed an IndexedDB-first experience with an offline write queue, structured AI triage, semantic memory, a client-side vault, and an agent mode for changing workspace behavior through natural language.
A deployed PWA that demonstrates privacy-conscious product boundaries, resilient local interaction, compound-input handling, and integrations with Google Calendar and Tasks.
02System architecture
How the layers connect
The diagram is paired with a text alternative and remains readable without animation or WebGL.
- Capture: A low-friction dump interface accepts unstructured and compound input.
- Local state: IndexedDB and an offline queue keep the primary interaction resilient.
- AI triage: Structured output turns raw input into notes, tasks, categories, and follow-up actions.
- Memory: Vector search and controlled context retrieval support continuity across sessions.
- Integrations: Cloud services connect reminders with Google Calendar and Tasks.
03Engineering decisions
Choices that shaped the result
Keep capture local-first
The interface writes locally before synchronization, so the most frequent action remains fast and available when connectivity is unreliable.
Separate dumping from agent control
Dump mode is optimized for capture; Agent mode is reserved for deliberate workspace changes such as categories, themes, reminders, and memory rules.
Publish the system, not private data
The public case study documents architecture and interaction patterns while excluding notes, database contents, credentials, vault data, and security-sensitive implementation detail.
04Product evidence
Selected interface views
Captured from the deployed product. Authenticated screens are shown only in privacy-safe states.

05Technical footprint
Stack in context
- Next.js 16
- React 19
- TypeScript
- IndexedDB
- Cloudflare Workers
- D1
- R2
- Vectorize
- Gemini
- Local-first capture
- Offline write queue
- Semantic memory & agent mode