One Product, Two Front Doors: Why We Split the Octomind Panel | Octomind
Every product that gets good at something eventually gets hard to start using. Ours did it the classic way: each feature we shipped was genuinely useful, each one earned a place in the sidebar, and one morning the sidebar had fourteen entries, machines had six tabs each, and a new account met a four-step wizard before it ever saw an agent do anything.<br>That's the right panel if you signed up for a cloud machine. It's a wall if you signed up to get something done.<br>The tell was in our own data. When someone creates an account we ask what they're here for, and the options are build software, research and write, automate routine work, or just exploring. Three of those four are not developers. All four were being handed a machines dashboard.<br>So we split the panel in two. Chat is conversations and nothing else, and it's where new accounts land now. Studio is the full panel, unchanged. One account, one wallet, one click between them.<br>The split is not a "beginner mode"<br>This distinction matters more than it sounds, and getting it wrong is how these projects fail.<br>A beginner mode is a setting that admits the product is too hard and offers to hide some of it. It ages badly: nobody self-identifies as a beginner, the docs fork, support has to ask which mode you're in before they can help, and every screenshot is wrong for half the userbase.<br>The model that works is the one exchanges have used for years. Coinbase has Coinbase and Coinbase Advanced. Binance has Convert, Spot and Futures. Those aren't difficulty levels — they're different front doors to the same exchange, with the same account and the same balance behind each. Nobody using Convert thinks they're in the kiddie pool; they think they're using the tool that matches the job.<br>That's the frame we took. Not simple-vs-hard. Conversations-vs-machines — two jobs, two doors, one product.<br>The naming follows the frame. We call them Chat and Studio, never Simple and Advanced, because a name should describe what you do there rather than rank the person doing it.<br>The four rules<br>Anyone can draw two sidebars. Keeping them one product is the actual work, and it comes down to four invariants we refuse to break.<br>A board changes navigation, landing screen, and vocabulary. Nothing else. Same routes, same components, same data underneath. In our codebase this is one branch in the layout — not a fork, not a second app, not a parallel set of pages that drift apart over six months. If we ever need to build a screen twice, the split was wrong.<br>No asymmetric state. Everything created in Chat is fully visible and editable in Studio and the reverse. A conversation in Chat is a session in Studio — the same row in the same table. The moment one door can create something the other can't see, you own two products and twice the support load.<br>A board is not a plan and not a permission. A free account can sit in Studio. A top-tier account can live in Chat. Every deep link resolves in both — open a machine URL from an email while you're in Chat and it renders. Chat leaves things out of the menu; it never blocks a route. In practice this means every board-conditional in our code governs presentation only, and one that ever gates a capability is a bug, not a feature.<br>One switch, always visible, no confirmation. Bottom of the sidebar, both directions, no dialog. A switch you can't undo in one click isn't a preference, it's a trap — and a trap is exactly what makes people avoid trying the other door at all.<br>What Chat actually removes<br>The interesting design question wasn't what to put in Chat. It was what to take out and still have the product work.<br>The machine. Chat never says the word. Your first message creates a computer in the cloud, wakes it when it's asleep, and lets it sleep when you're done. There's no size to choose, no image to pick, no name to type. This is the biggest one, and it's only possible because the machine layer was already good enough to be automatic — we'd built the auto-create path months earlier for the chat connectors, where there is no UI to pick a machine from either.<br>The model picker. A dropdown of provider-prefixed model IDs is the single most jargon-dense control we own, and auto already routes each request to a sensible model by purpose. Studio keeps the full catalog for people who want to pin a specific one.<br>The dashboard. Studio's Overview reports running machines, three cap windows, and an activity feed. That's a good screen for an operator. Chat's landing screen is a line to type on, because a person who wants a task done is not an operator.<br>The wizard. In Chat there isn't one. You land, you type, the agent works. The four screens it replaced — pick a persona, pick a plan, make a machine, choose a task — all happened before you'd seen the product do anything, which is the worst possible moment to ask someone for a decision.<br>Removing a step is easy; replacing it is the actual work, so the...