Sidekick
A Mac app that hears "Replicas, go research this" on a call, hands it to an agent, and sends me a notification when the answer is ready.
Side project · 2026
Why I built it
We'd say it on calls all the time. "Oh yeah, we should look into that." And then nobody owns it, and it falls through the cracks.
I could go look it up right then, but then I'm half in the call and half in a browser tab. Or I could write it down for later. One more thing to remember after the meeting.
So I built Sidekick. Now I say it out loud, and an agent goes and does it while we keep talking.
What it does
Sidekick is a small Mac app that sits in the menu bar. It doesn't record anything. Wispr Flow already transcribes my calls, so Sidekick reads that transcript as it comes in and waits for its name.
Say "Replicas, research whether Electron can keep a menu-bar app running with no windows," and a card shows up with my words as they arrive. When the request is complete, Sidekick hands it to a cloud agent in Replicas. Or to T3 Code on my Mac, if I said "T3" instead. It works outside of calls too. Dictate the same thing with the Wispr hotkey and it goes straight through.
When the agent finishes, I get a quiet Mac notification. I can read the answer in Sidekick, or click Read to me and hear a short summary. And if I want to keep going, Continue in Replicas opens the same conversation.
Where AI fits
Most of the work went into one question. Did I just ask for something, or was I just talking?
Calls are messy. Someone asks whether Replicas can even do that. Someone quotes a request from last week. Someone says "let's have it check that... actually, never mind." None of those should start an agent.
So when a name comes up, a model reads the words around it and decides whether it's a request, a request still being said, or just conversation. It has to be confident I'm asking and confident I've finished before anything launches. "Can we have Replicas check that?" counts. So does "this," when "this" is what we were just talking about.
Then it waits. Wispr's transcript lands in chunks, a few seconds behind, so a request can still be growing after it looks done. Sidekick holds it for 15 seconds after my last words, with the countdown right on the card. Saying "that's all" cuts the wait to a couple of seconds, and Send now and Cancel are right there if I want them.
When it sends, the agent gets my exact words and the bit of conversation they point to. Sidekick doesn't rewrite them. It also works out whether I want an answer or want something done. "Research how to add a drawer" stays research. The agent runs in plan mode and is told not to change anything. "Add the drawer" or "create a Linear issue for this" is real work.
And I stay in charge of the rest. If the agent needs a decision or a permission, Sidekick tells me instead of answering for me. Nothing plays out loud until I click.
I also wrote evals for the ways it goes wrong. They replay tricky requests through the real transcript watcher and the real model: a request split across three transcript updates, a quote, a hypothetical, a "never mind," a cancel. Every case has to pass on every run.