Helm is not a chatbot. It is not an app that wants your subscription. It is a personal command center that gives an AI assistant a real, persistent model of your world, so it can actually help you — not just answer questions.
Most AI assistants are stateless. Every conversation starts from zero. You explain your context every time. You re-tell the same story. The AI is smart, but it has no memory. That is a fundamental design problem, not a feature gap.
Helm solves that by giving the AI a persistent brain. Not a cloud account or a settings page, but an actual structured file system of your life: your projects, your priorities, your calendar, your inbox, your evidence, your decisions. Every time the AI wakes up, it reads these files first.
The result is an assistant that already knows your full situation. You do not brief it. It briefs you.
The core idea: Instead of storing context inside an AI model (which forgets), store it in plain files (which last forever). The AI reads the files. You own the files. If the AI gets replaced or upgraded, the files survive.
Two surfaces, one brain: Helm is a web app you open on your phone or laptop. Cowork is Claude running on your Mac. Both read from and write to the same data store. One updates, the other sees it instantly.
Every piece of the system lives in exactly one layer. No duplication. No drift.
Plain text files, checked into a git repository. Readable by any editor, any AI, any person. These are the source of truth for everything that is narrative: context about your life, project notes, decisions, evidence, priorities, briefs.
A real-time database in the cloud (Google Firebase). This is the sync layer for everything structured and fast-changing: tasks, priorities, briefs, ritual health. When you check off a task on your phone, it is gone on your Mac in under a second.
Two places where you actually do things. Helm is the web app (phone-friendly, always available). Cowork is Claude Code on your Mac (full power mode for deep work). Both read from the same database. Neither one owns the data.
A change in any layer propagates outward in seconds.
context/current-priorities.md and commit it. A git post-commit hook fires automatically.
It reads the file and writes the new priority list to Firestore. No manual step. No Claude session needed.
Not everything. Only what changes frequently or needs to be retrieved quickly. Each entity lives in exactly one home.
| Entity | Lives in | What it is | Status |
|---|---|---|---|
| Tasks | Firestore | Today / this week / ongoing items. Check them off in Helm or Cowork. Claude can add them automatically. | Live |
| Priorities | Firestore synced from md |
Ranked list of what matters right now. Edited as a plain markdown file; auto-published to Firestore on commit. | Live |
| Projects | Markdown | One folder per project. Each has a README with status, next steps, and context. Claude reads these at session start. | Live |
| Decisions | Markdown | Append-only log. Every meaningful choice gets a date, a decision, the reasoning, and the context. Never edited, only added to. | Live |
| People | Markdown | Key contacts with roles and context. Legal case people, family, business team. Claude knows who everyone is without being told. | Live |
| Briefs | Markdown + Firestore |
Morning / midday / evening / weekly summaries written by Claude automatically. The latest one shows inline in Helm. | Live |
| Evidence | Markdown | Verbatim quotes, dates, source info for the legal case. Never paraphrased. Stored per-incident in its own folder. | Live |
| References | Markdown | SOPs, examples, templates, style guides. Things that repeat. Build it once, reference forever. | Live |
| Calendar + Inbox | Live API | Read directly from Google. Not stored, not cached. Always fresh. Gmail (4 accounts) and Calendar (all calendars). | Live |
Claude thinks, plans, and acts. Gemini reads, retrieves, and chats quickly. They share the same context files. They never talk to each other directly.
Runs on your Mac as a Claude Code session. Has full write access to everything. This is where real work happens.
Runs as a background daemon on your Mac. Powers the inline chat in Helm. Read-only. Fast. Always available from your phone.
read_file tool
search_text tool
Claude runs four rituals automatically — no prompt, no manual trigger. They fire on a schedule, read your live context, write a brief to the file system, and push it to Firestore for Helm to display.
Why a daemon instead of a cloud function? The rituals need access to your Mac's local files, your authenticated Composio sessions for Gmail, and your service account credentials. A cloud function can't reach any of that. The daemon runs on your Mac, already authenticated, with access to everything. Simpler. More powerful. Zero cloud cost.
// You type a message in Helm chat on your phone Helm browser → writes message to Firestore helm_chats/{id}/messages // The daemon is watching Firestore in real time Daemon → listener fires on new message // Daemon builds context from your files Daemon → loads GEMINI.md (your context + rules + boundaries) Daemon → loads conversation history from Firestore // Sends everything to Gemini Daemon → calls Gemini with: systemPrompt + history + message + tools // Gemini may call tools before answering Gemini → calls read_file('projects/legal-case-payments-canada/...') Daemon → executes the tool, returns content to Gemini Gemini → calls get_tasks({ section: 'today' }) Daemon → queries Firestore, returns tasks to Gemini // Gemini streams the response back Gemini → streams tokens to daemon Daemon → updates Firestore message doc chunk by chunk (status: 'streaming') Helm → renders tokens as they arrive — real-time // Done Daemon → marks message status: 'done', logs token count + cost
Every choice has a reason. No defaults were accepted blindly.
launchd (macOS's process manager) means it starts automatically on login,
restarts on crash, and has the same access you do. No cloud cost. No latency overhead.
The daemon just runs in the background like any other system process.
Built in four stages. Each one adds a layer without breaking what is already there.
Live, tested, and in daily use. Not demos. Not mockups.
Opens to today's brief inline. Shows tasks by section (today, this week, ongoing). Check off tasks from your phone. They disappear in Cowork in seconds.
All 4 Gmail accounts in one view. Newsletters auto-filtered out. Priority senders (Canada Life, CheckCherry, Hussain, Mireille's lawyer) highlighted automatically.
All calendars merged. GoBooth bookings, personal events, Calendly, CheckCherry imports.
Live countdowns to today's events. The dgoneau@payments.ca calendar is deliberately excluded.
All active workstreams as cards. Tap a project to see its full README rendered inline. Legal case, GoBooth recovery, separation, Inner Pi — all visible in one place.
Shows when each ritual last ran (morning brief, midday, EOD, weekly). If a ritual missed its window, the card flags it. No missed brief goes unnoticed.
Chat panel accessible from any brief item. Daemon running and connected to Gemini. Tool-calling and streaming responses in active development (Stage 2).
Frontend Single-file SPA public/index.html — no build step, no framework Auth Firebase Auth Google sign-in, locked to goneau@gmail.com Database Firestore Real-time, document-based, one collection per entity Hosting Firebase Hosting helm-dashboard-293cd.web.app — free tier, global CDN Inbox/Cal Gmail + Calendar API Direct browser calls via OAuth token AI (Cowork) Claude Opus 4.7 via Claude Code subscription, Mac daemon AI (Chat) Gemini Flash via free tier CLI, falls back to API Source truth Git + Markdown ~/Documents/Claude/Projects/Dan's Assistant/ Sync git post-commit hook fires on commit, non-blocking Daemon Node.js + launchd starts on login, restarts on crash MCPs Firebase, Gmail, Cal Composio for multi-account Gmail
| Capability | Notion AI | ChatGPT | Zapier | Helm |
|---|---|---|---|---|
| Remembers your full context session to session | △ limited |
△ memory feature, limited |
✗ | ✓ full context in files |
| Reads your actual Gmail and Calendar live | ✗ | ✗ | △ with setup |
✓ 4 accounts simultaneously |
| You own your data (no vendor lock-in) | ✗ in Notion's DB |
✗ OpenAI controls it |
✗ | ✓ plain files in git |
| Works across phone + Mac without re-logging in | ✓ | ✓ | ✗ | ✓ Firebase Auth |
| Runs automated rituals daily without your input | ✗ | ✗ | △ basic automations |
✓ 4 scheduled rituals |
| Can write code, run terminal commands, deploy | ✗ | △ with plugins |
✗ | ✓ via Claude Code |
| Free to run (no per-query AI costs for daily use) | ✗ per-seat plan |
✗ per-seat plan |
✗ task-based pricing |
△ Claude Code sub covers most; Gemini free tier for chat |
| Handles legal evidence with strict formatting rules | ✗ | ✗ | ✗ | ✓ enforced via CLAUDE.md rules |
Every piece of context is a plain text file. Open in any editor. Readable by any AI. If Claude gets replaced by a better model tomorrow, the files survive. The system improves with better AI, not because of it.
Context files grow. Decisions accumulate. Patterns get documented as reference files. Every session adds to the body of knowledge. The assistant becomes more useful without any intentional "training" — just by doing the work.
No build step for the frontend. No ORM for the database. No framework for the rituals. Each piece is the simplest thing that works. When complexity is needed, it earns its place with a decision log entry that explains why.
Claude for deep work. Gemini for quick chat. Git for narrative history. Firestore for real-time sync. Firebase for hosting. No single tool does everything. Each one does one thing well, and they pass data between them cleanly.
Claude can write every email, draft every letter, compose every document. It never sends. Every outbound communication is surfaced for review first. Legal and HR correspondence is flagged for paper-trail awareness.
Gemini is read-only because the daemon is read-only — the file-writing tools simply do not exist. Firestore is locked to one Google account because the security rules enforce it server-side. You do not rely on the AI to "remember" its limits. The limits are structural.
Helm was built incrementally over several sessions. No big-bang. No "first finish the design." Here is the honest account of what is required.
The core idea is transferable. Your context files will look different — your priorities, your projects, your team, your legal situation. The architecture is the same. Files in git. Sync layer in Firestore. Claude for heavy work. Gemini for fast chat. Rituals on a schedule. Pick what matters to you and leave the rest.
Sign in to access your command center. Today view, calendar, inbox, projects, and inline chat — all in one place.
Sign in with Google