June 6, 2026

Why I built Coco

A few months ago I caught myself doing something stupid every morning. This is the story of what that was, what the personal-AI wave keeps missing, and what I built instead.

Every morning, before I could get any real work done, I opened a chat box and typed some version of the same thing: "Go through my inbox and tell me what actually needs me today." Then I waited. Then I read. Then I started my day.

I do this for a living — I help people and teams adopt AI agents. And here I was, hand-feeding a chatbot the identical prompt every single morning, like clocking in. One day it landed on me properly: if I can't get AI to predict what I need, how am I supposed to help anyone else adopt it? That sentence is the whole reason Coco exists.

There is a wave, and it is mostly the right wave

I want to be fair to where the field is, because it has moved fast and a lot of it is genuinely good. Google shipped Gemini Spark, which sits across your Gmail and Calendar and Docs and will, on request, pull your day together and answer almost anything about your own data. Microsoft has Scout, and the OpenClaw agent layer people are running on top of it, both reaching deeper into the desktop and the browser than anything did a year ago. Hermes Agent went the other direction — a fast, chatty, do-things-for-me assistant that will book and buy and fill forms while you watch.

They get the hard parts right. The models are good now. The connectors work. The thing can read your mail and understand it and act on it without falling over. A year ago that was the whole problem, and it is largely solved.

But they all share one shape, and once you see it you cannot unsee it: you open something, and you ask. The intelligence is real, and it is sitting behind a door you have to knock on. Every morning. The product is a brilliant employee who will not start until you walk over and give the briefing — and then you have to give the same briefing tomorrow.

The gap a busy builder actually feels

The gap is not capability. It is initiative, and memory, and the shape of the surface. Three things, concretely, from my own week.

First, the morning re-brief. I had to type the prompt every day because the assistant remembered nothing about what mattered to me. It did not know that the contractor thread was still open, or that the school had been emailing about a field trip for two weeks, or who my recurring people even are. Each morning was a cold start. A chat box has no opinion about your day until you give it one.

Second, the forgotten context. A real thing in your life — a renewal, an enrollment, a quote from a vendor — almost never arrives as one tidy email. It arrives as a back-and-forth, spread over days, sometimes across email and a text and a flyer that is just a JPEG with the dates baked into the image. Ask a chatbot to "summarize this email" and it summarizes that one email. It does not carry the thread forward. The next message lands and the story starts over.

Third, the box itself. The dominant interface for personal AI is a chat box, and a chat box is a thing you have to feed before it can help. That is fine for a question. It is exactly wrong for the standing job of "keep an eye on my life and tell me what changed." You do not want to interview your admin every morning. You want to walk in and have the day already laid out.

So the gap, said plainly: the wave is missing a thing that works before you ask. A dashboard, not a chat. Persistent context that survives the night. Topics that hold together across days instead of resetting per message. A synthesis of what you subscribed to but never read, done overnight, without anyone prompting it.

What Coco actually does

Here is a real morning, the way it now goes for me.

I open Coco and the day is already built. Not a chat waiting for input — a brief, laid out like a calm front page. At the top: "Thursday — five things left today," then the day as a short list. A standup, a one-on-one, a dentist reminder I would have forgotten. I typed nothing. It read the overnight mail and the calendar and assembled this while I was asleep.

Halfway down is the school stuff, folded into one item instead of six. The field trip my kid's class is taking next week had been arriving in pieces — the teacher's note, the permission form, a follow-up from another parent, a flyer that was a photo of a printed sheet. Coco read the picture, pulled the date and the cost and the drop-off time out of it, and merged the whole thing into a single topic with a small note explaining why it grouped them. One row, the full story, not ten forwarded fragments.

There is a line about a kid pickup that moved, because Coco noticed the time in a text thread had drifted from what was on the calendar and flagged the conflict. There is a draft reply already written to the contractor who followed up on a quote — in my voice, sitting there, waiting for me to read it and tap send. Nothing went out. It just did the writing so I would not have to start from a blank box.

And near the bottom, the part I did not expect to love: a single digest synthesized across the dozen newsletters I subscribe to and never open. Overnight, no schedule I set, Coco read all of them and surfaced the two items that actually touch my week — weekend track work on the line I take, and a local thing worth knowing about. A chatbot will summarize a newsletter when you point it at one. It will not read the twelve you ignored and tell you which two collide with your commute.

That is the whole product, really. It is a personal admin that has already done the reading by the time you are up, and hands you the few things that need a human. You scan it in thirty seconds. Most mornings you never type a word.

How it is built, in plain English

The stack is deliberately boring, because boring is what you trust with your inbox. Coco is a Next.js app deployed on Vercel, with a Neon Postgres database holding your data, and Anthropic's Claude doing the actual reading and writing. Cron jobs run the overnight work — the sync, the topic-grouping, the newsletter synthesis — so the brief is ready before morning.

Two choices matter more than the rest. The first is that the code is source-available, under the PolyForm Noncommercial license. The whole thing is public — you can read it, clone it, change it, and run your own copy for personal use. The one thing the license holds back is commercial hosting, so nobody can take it and stand up a paid competitor. That carve-out is the point: the code stays open for you to build your own, and stays closed to being resold out from under the project.

The second is that there is also a hosted version, for people who are not going to fork a Next.js app on a Tuesday night. If you build software, self-host it and pay only your own infrastructure and model costs. If you do not, there is a hosted Coco that runs the same thing for you. I did not want the answer to "this is great, can my mom use it" to be "sure, if she can deploy to Vercel."

Why the trust story comes before the magic

This is the part I care about most, and the part most assistants are quietest about. Coco asks Google for real permissions — to read your mail and calendar, to send a reply, to add an event. When you sign in, Google's screen shows those in broad language: "send email on your behalf," "view and edit events." That looks alarming, and I refuse to paper over it. Google's consent model is all-or-nothing; there is no scope that means "send only the one thing the human approved." So Coco asks for the full grant and then only ever uses it on the exact draft you have tapped to send, or the single event you asked for. It cannot delete your mail at all.

The honest framing is read-only in spirit, with sending and calendar writes gated behind your explicit, per-action consent. Nothing sends, books, or buys on its own. Every action Coco's tools take lands in an audit log you can read, in order, so you can see exactly what it did and when. Anything it learns about you, you can open and delete with a tap.

And the model boundary: your data lives on your own accounts and your own database, not a shared Coco server. Your prompts go to Claude's API to do the thinking, and Anthropic's API does not train on what you send it. There is no advertising business here. I am not monetizing attention or selling a profile. The product is the admin, not you.

I lead with this because the synthesis is the easy part now. Any of these products can read your inbox. The hard part — the part that decides whether you let something into your email at all — is whether you can trust what it does there, and whether you can check. Coco is built to be checked. It is a personal admin you can audit, not a black box you hope is behaving.

What is next

This is the v1.0 launch. One tier, hosted, with a free trial to start, for people who want Coco to just run. The self-host path stays open and free to use for anyone who would rather own their copy. No confusing matrix of plans — one product, two ways to get it.

From there the roadmap is about reach and restraint, in that order. v1.1 brings texting done right — plain SMS, so Coco reaches you on your number without needing a Mac left running, which is the current constraint for iMessage. v1.2 brings a voice that actually sounds human reading you the brief, and a car mode for hearing it on the drive instead of reading it at a screen. After that, carefully, action-automation with guardrails: letting Coco do a little more on its own, but only inside limits you set and an audit log you can read, because the moment it acts without you watching is the moment trust has to be earned all over again.

The obvious question is what happens when Google and Apple and Meta build all of this into the operating system, because they will. My bet is that the work transfers. The hard-won part of Coco is not the connectors — it is the opinion: that the right surface is a dashboard not a chat, that context has to persist, that topics matter more than messages, that trust is a feature you ship and not a paragraph you write. When the platforms catch up on plumbing, those convictions are what is left, and they are portable.

So here is the idea I would actually forward, if I were you. The race in personal AI is being run as "what can the assistant do when I ask it." That is the wrong race. The thing that changes your morning is not a smarter answer to your question — it is not having to ask the question at all. Build the thing that works before you ask, make it something you are allowed to check, and the asking-machines start to look like a worse version of an admin. That is the whole bet. I built Coco to make it.