Kobe: what I actually built as founding engineer
The Launchpad series tells the three weeks from the inside. This post explains the product: an agent that finds the best path to a person through your own network, and my part in it.
You want to talk to a specific person. Someone in your network knows them, you just don’t know who. Kobe finds exactly that path.
Kobe is a three-person startup in Berlin. Nils is CEO, René is CTO, I’m the founding engineer. The two of them founded it. René and I built the product together as equals, and he did a bit more of the outside planning. The Launchpad series is about how the three weeks in Pennsylvania felt. This post is only about what we built.
Here’s how Kobe works, and the demo on this page runs the same flow with sample data. You enter a mission, for example booking three reference calls for someone. Kobe breaks it down, searches for matching people and then looks into your own network: LinkedIn, email, Slack, notes. From that it ranks warm paths, meaning who is most likely to introduce you and why. For each path Kobe writes two texts: the request to your contact and a message they can forward as is. Nothing gets sent before you approve it. And your raw data stays on your own computer.
Ask Kobe
Your personal Superconnector
Talk to a payments lead at a European fintech
Introduce me to someone who leads payments at a European fintech. We want feedback on our checkout API before the pilot.
I found three warm paths to payments leaders. Lena is your strongest: she led Finlo’s seed round and you talk to her often. Review the plan and the drafts below.
Talk to a payments lead at a European fintech
The Plan
Ask Lena on WhatsApp to introduce you to Tobias, with a short message they can forward.
Ask David on LinkedIn to introduce you to Mara, with a short message they can forward.
1 more contact path included below.
After you approve, Kobe sends the messages and follows up to arrange your conversations. For introduction paths, Kobe waits until you are connected before contacting the target directly.
Approves all current message drafts in this Mission. Sends after a 30 second countdown.
Lena led Finlo’s seed round. You have exchanged 14 messages with her since August.
Introduction request To Lena on WhatsApp Hi Lena, hope Lisbon was good!
Hi Lena, hope Lisbon was good! Quick ask: could you introduce me to Tobias at Finlo? We open our checkout API pilot in January and his view on European payment flows would help us a lot. I wrote a short note below that you can forward. Thank you!
Forwardable message
Hi Tobias, I’m Alex, building checkout infrastructure at Northbeam. Lena suggested you as the person to ask about payment flows in Europe. Would you have 20 minutes in the next two weeks? Happy to share what we learned from 40 merchant interviews.
Sent as a separate message immediately after your request.David and Mara worked together for four years. You met David at two founder dinners this autumn.
Introduction request To David on LinkedIn Hi David, good to see you at the dinner last week.
Hi David, good to see you at the dinner last week. Would you be open to introducing me to Mara? We’d love her take on our checkout API before the pilot. A short note to forward is below.
Forwardable message
Hi Mara, I’m Alex from Northbeam. David mentioned you know payments at scale better than anyone. Could we borrow 20 minutes of your time for feedback on our checkout API?
Sent as a separate message immediately after your request.Jonas is a first-degree connection and replied to you within a day last time.
Outreach message To Jonas on LinkedIn Hi Jonas, it’s been a while since the API meetup.
Hi Jonas, it’s been a while since the API meetup. We’re opening a checkout API pilot in January and I’d value your feedback as someone who ships payments products. Up for a 20 minute call next week?
Sent. I’ll follow up with Lena and David on Thursday if they haven’t replied, and tell you as soon as an introduction is made.
Three pieces make that work. A web app with a backend on Cloudflare Workers, Postgres as the only data store, row-level security. A desktop app for the Mac that reads the sources locally. And a channel in between that lets server and Mac talk to each other.
My part in October, in numbers: 509 of 918 commits in the v3 repository, 157 of 750 in the desktop app. Almost all of them with Claude Code as co-author. I worked with agents in several worktrees in parallel and reviewed and merged what they produced.
A few things in more detail. I worked a lot on the channel between cloud and Mac. A Mac that reconnects takes over its interrupted import instead of starting from scratch. A Mac that announces it’s going to sleep counts as asleep, not lost. Stale connections get fenced off by a generation number. One change was triggered by a customer’s Mac that got 94 HTTP 409 refusals in one hour. Since then the server accepts a repeated final report once and ignores the copies.
Then the agent. I proposed and built a chat agent that has no tools of its own and takes every tool from the MCP server, which René set up and I extended. That way the chat and external clients like Claude see exactly the same tools. 160 unit tests run against a fake model and check that someone always approves before anything is sent, and that a tool only runs once its skill is loaded. Without calling a single real model.
I also built a staff console for our team: health per customer with a plain-language chain of causes, plus actions on the customer’s Mac that need a written reason and end up in a journal. I wrote the spec and the prototype, agents built parts of it in parallel, and I merged them. And the pitch deck, in one day.
What I’m taking away: measure first, then fix. In September, faced with a connection problem, I didn’t guess, I counted, and found a forced reconnect roughly every 314 seconds. Second, an agent that sends messages in your name needs an approval step you can test. Third, working with agents in parallel only works if every file has exactly one owner.
Tools and skills: TypeScript, Hono on Cloudflare Workers with Durable Objects, Postgres with Drizzle and row-level security, Electron with React, WebSockets, MCP, Playwright and Node tests, ADRs, and Claude Code with git worktrees.
Back in March I had already worked for Kobe once, on the road trip: on an agent pipeline in Python that builds a skill report from Slack data. The product was completely different back then. That’s how fast things change in a startup.