← Back to blog
Building Familiar — Part 1

Your LLM Is the Control Plane

Drazen Urch · April 15, 2026

Most systems like this begin with a dashboard, a settings page, and a pile of environment variables.

Familiar started from a different question: what if the human never had to become the operator at all?

That sounds like marketing copy until you try to build the setup flow. The moment you say "the user's own agent should be able to provision this," a lot of comfortable assumptions disappear. Setup stops being a screen flow. It becomes a machine-readable negotiation between a runtime that knows its current state and an external agent that can take the next step.

That is why Familiar ended up with a progressive /setup flow instead of a traditional wizard. The kernel describes what is missing now, not what some product manager once imagined would be the ideal path. First an API key. Then a model. Then a channel. Then a restart. Each step is legible to a coding agent, not just a human clicking a button.

The early work was mostly removal, not addition. Model selection could not be "whatever we guessed last time." Credentials could not accumulate duplicate state. The kernel had to infer useful defaults from the keys it had, explain them clearly, and let the user or their agent override without accumulating hidden precedence rules. The commits behind this phase look mundane — model inference, /models, deduplicating credentials, simplifying OHK_MODEL. In aggregate, they were the difference between a system that feels operable and one that requires tribal knowledge.

The more interesting design move was cultural, not technical. Channels became optional surfaces, not the product itself. Telegram is useful. But the core is not "a Telegram bot." The core is a persistent agent kernel that can be claimed, configured, and steered by another agent. Once we made that shift, blank provisioning, creating an unclaimed instance someone else can take over, let memade sense. You can hand a user a URL and an auth token and let their own coding agent do the rest.

In systems that mix agent autonomy with credentials, clarity is part of the security model. The /setup guide needed to be expressive enough for automation, but precise enough not to leak the wrong token during bootstrap. Clear without sloppy.

The end result is not one more onboarding flow. It is a different operating assumption: the control plane is conversational, machine-readable, and delegated. A human can still use it. But they do not have to.

In the next post: what happened once we realised an API alone was not enough. A remote agent needs an operating surface, not just endpoints.

← Back to blog