Skip to content
Minh Le
  • WritingPage
  • AppsPage
  • CareerPage
  • Hiding the hard partsWriting
  • Talking in percentagesWriting
  • Categories of hallucinationsWriting
  • Dynamic contextWriting
  • Visual content search should be visualWriting
  • ScreenbucketApp
  • Accordion: Resize to RewriteApp
  • AlexandriaApp
  • LorikeetCareer
  • CanvaCareer
  • PwC AustraliaCareer
  • The U Group & CoCareer

High conviction

Hiding the hard parts

Instinct feels magical because of two design decisions, not new technology. Decide the experience first and let it choose which parts the user sees.

Instinct is growing 10% a day while still invite-only, and no earlier wave of LLM personal assistants has come close to that adoption. If you haven't used it yet, I'd strongly encourage you to find an invite and experiment - it just works™️ - and I want to understand why the experience is so magical. I believe the stack is made of things we already have: computer use, multi-agent orchestration and memory. The difference comes down to two design decisions, both of which follow from running inside the restrictive interface of iMessage.

  1. One thread for everything. You can ask Instinct to do several things at once and every result comes back into the same conversation. Underneath this is most likely a main agent that spawns task agents and collects their results, but this task model stays hidden from the user.
  2. Browser use instead of integrations. Connectors exist for Google, Outlook, Notion, Linear and so on, but all of them are optional. The main path is a cloud computer per user with a "vault" of saved logins, so Instinct signs in as you and clicks through the site the way you would. Any task you can do on a website is a task Instinct can do, which covers the long tail of services that will never have an integration.

Together, these mean a new user has nothing to learn: no new mental model for the product, no new interface and no new account setup. However, these choices drop the controls that integrations give you, such as scoped permissions, audit logs and spend controls. Instinct holds your full credentials and, for many users, a credit card, and incidents have already been reported, including emails sent without confirmation and an owner's bank balances posted in a company Slack channel. Muse handles this by storing credentials so the agent can use them without seeing them, with access set per app; every control of that kind adds setup steps for the user. Browser use with plain login credentials comes at a cost to security, while the controls come at a cost to friction.

The single thread presents the same kind of trade-off. Windows, tabs and workspaces exist so that a person can keep track of several pieces of work at once, and early users already report that they cannot run parallel conversations and do not use Instinct for work. The single thread works for simple consumer tasks (birthday gifts, groceries, what to do this weekend), and my belief is that prosumer and business use requires more robust multitasking.

This is by no means the only good part of Instinct; memory that carries across conversations and a tone that reads like a helpful person on the other end no doubt take care and attention to craft.

The lesson I take from it is to decide on the target experience before the architecture, and let that determine which parts the user sees. For anyone building agents, two questions follow. What does "no new interfaces" look like in your domain - for me, customer support? And where could you reduce friction at some other cost?

  • agents
  • product

More writing

  1. Talking in percentagesAI bugs are probabilistic, so one observation tells you nothing about how often it happens. Measuring a new behaviour should be cheap enough to do inside the investigation.
  2. Categories of hallucinations“The model hallucinated” describes very different failures. Naming the root cause is how you find the right fix.
  3. Dynamic contextContext, not raw intelligence, is the bottleneck for agents. Keep each step in the goldilocks zone by injecting and removing context as the task moves.