Koba


01What problem did you find?
A reply in a chat can be as cluttered as a page
01What problem did you find?
A reply in a chat can be as cluttered as a page
Koba lives in iMessage, so its interface is the reply. What I took from Philo is that a page works when it asks for one thing at a time, and a reply can bury you the same way a page can.
This long answer is my own example of what I wanted to avoid. I wrote it, and no product sent it. It asks four questions at once and pushes the message it answers off the screen.
This is what Koba sent back, word for word, when I texted it the same message: what it logged, and who owes what.

02Who was affected?
Everyone in the group chat, and only one of them needs an account
02Who was affected?
Everyone in the group chat, and only one of them needs an account
One person in the chat has a Koba account. Everyone else just texts, with nothing to install. This is that same dinner in the iPhone app, for whoever wants more than the chat. As everywhere on this page, the names are samples.
Koba never moves money. It works out the amounts and asks, and a payment counts once the person who got paid confirms it. Here Maya and Jordan are settled, and Priya still owes $62.00.

03What was your hypothesis?
If every reply is as easy to follow as a calm page, the whole job can stay in the chat
If every reply is as easy to follow as a calm page, then the whole job can stay in the chat, because a clear journey is what people responded to in Philo
04What was your first attempt?
The first agent was told to keep it short, then told to always ask something back
The repo's first commit, on 27 March 2026, already has the first two rules in the agent's prompt. On 28 April, when the agent first reached iMessage, I added the third, and it asked for a question on the end of every answer. On 27 July I changed that one to ask only when the turn actually needs it. The first two are still in the prompt today.
The screenshots I have of the early replies are full of my friends' names, so here are the rules themselves, as the repo has them.
- “1-2 sentences max per response. Never ramble.”
- “ONE question max per turn. Never stack questions.”
- “After answering, ALWAYS end with one short, helpful follow-up question”
05What did later attempts look like, and what was learned?
Every round after that took something out of the reply
Between July and November there were seven of those rounds, each one a commit to the agent. Koba was called Solus until August, so that is the name in the first one.
Show the seven commits
- 27 Jul 2026“feat(chat): chill lowercase solus voice across chat and iMessage”A finished action can just end, with no question after it
- 27 Jul 2026“fix(chat): group-chat restraint, guest turns repaired end to end”In a group it says nothing unless someone says its name
- 31 Jul 2026“feat(spaces): settle-up integrity, tapbacks, payday-aware nudges”A bare thanks gets a heart on the message and no text bubble
- 18 Aug 2026“feat(chat): drop sentence-ending periods, set texting punctuation floor”The commit says why: “Nobody texts with a period at the end”
- 22 Oct 2026“fix(receipts): send a group’s split result as one message”It had arrived as up to five bubbles, “which the room read as a wall”
- 3 Nov 2026“feat(chat): data answers in a friend’s voice, not a printout”Lists and totals read as sentences, with the takeaway first
- 4 Nov 2026“fix(voice): generic "anything else?" closers come off the end of a reply”A reply no longer ends on “anything else?”
The dashboard went the same way. Its first version, on 25 October, had thirteen pages in six groups down the side. On 8 November I took out the mascot, and fixed a Home page that offered the same free week six times.
This crowded one is my own example of what I wanted to avoid: the current dashboard with those things put back and turned up, on a copy with sample data.
This is the dashboard as it is now: what you spent this month, set large, and three quiet cards under it.
The journey should be easy and simple to navigate
06How did you iterate and test?
I used it in a real group chat with two friends and wrote down what it got wrong
On 23 August 2026 I wrote up the first sustained use over iMessage: me and two friends in one group thread. Every bug in it had passed every test in the repo.
The same report adds a test that types about 55 requests 3,920 slightly different ways and checks where each one is routed. Its first run failed 512 turns, and showed that the more politely someone asked, the more likely Koba was to send a heart and log nothing.
This is a screen recording of me texting Koba in Messages to set a reminder. The wait is real too, about 12 seconds.

07What came of it?
Koba is in private beta, and most of the people in it used it last week
38
of 50 beta users were active in the last 7 days, as of 4 November 2026
1,638
expenses logged in the private beta by that date
2,600
people on the waitlist that day
The numbers show that most of a small invited group used it in the last week and keep logging expenses. They cannot show whether short replies are the reason, or how it holds up outside a private beta of 50.
08What would you do next?
Next is more connections, with the chat kept as quiet as it is now
08What would you do next?
Next is more connections, with the chat kept as quiet as it is now
This is the Connections page on kobamoney.com, which says what the chat tries to do: connect only what helps. Three connections are live today: Gmail, bank linking through Plaid, and Apple Reminders.
Everything else says coming soon. Each new connection is one more reason for Koba to text you, so what I would do next is add them one at a time and hold every new message to the same rule: one or two short sentences, and one question at most.





