Namtar

Designing for Dialogue

Dec 1, 2025

Personal Computing

Your computer is your own world. It's a digital home and the structure, content and aesthetics reflect the way we inhabit them. We have fallen far from the early 2000s promises of "Personal Computing" and, with each year, we are pushed further towards renting our lives in totality.

That has to change. A home should take on the shape of your life through the dialogue between you and your (shared) environment, on your terms. You can glimpse the potential if you browse your old downloads, you'll see the an obfuscated story of your life in the trail.

As a kid, I was never a "CLI-first" developer but over the years I've been pushed further into my terminal as the final bastion of control. I have a home directory and my own environment to explore my projects. What was once a place of confusion and apprehension (should I fuck something up irreparably) eventually became the default.

The terminal is one of the only places software actually composes. Every result can be saved, piped, branched. My shell is mine. And now an LLM can smooth the parts that used to require rote memorization while I learn new grammar through dialogue.

For developers, this works. But what about personal computing in general? Developers know software is made up of programs, instructions, protocols, clients, servers, databases, files, queues etc. and our tooling reflects the way we think about our systems.

But what about our lives? I think you only need three concepts: people, places, and things.

Things are fractal, a thing made of more things. A recipe contains ingredients. A project contains tasks. A memory contains moments. Similarly, places contain other places. A home has rooms, a company has teams, a folder has folders. People belong to places, own things, share both.

With creative use of these primitives almost anything is expressible... but in practice I don't really see these concepts on my computer. I see applications, files, folders, emails and websites instead.

The problem with files, databases, apps, silos etc. is that they ask you to predetermine the structure before you have any way of knowing what it should be. You have to declare your schema, choose your folder name & hierarchy, pick your app, commit to a shape and a subscription plan. And then once you've made that choice, there's friction to changing it. The system ossifies around your first guess.

Real dialogue is iterative. Every interaction builds understanding: yours of the system, the system's of you. People don't know what they mean until they've said it wrong a few times. Structure should emerge from use, not precede it. Instead we have optimised for upfront convenience (and long-term frustration).

Everything is a silo. Your emails in Gmail, your docs in Drive, your notes in Notion, your recipes screenshot into your camera roll. To the computer, a booking confirmation is the same "kind of thing" as a cherised memory or a shopping list. They're flattened into formats that don't know what they mean. A recipe isn't a PDF. A memory isn't a note. These things have structure, relationships, ways they want to connect.


If you build software this should unsettle you.

The way we've designed for the past two decades: feature specs, user stories, backlogs, predetermined flows (created by "experts"). This approach assumes you know in advance what users need. It leads to an smug attitude of believing you know "what is best" for them. You work backwards from constraints. You railroad. You decide what's possible and ship it. Users learn your system or leave.

I have always hated this approach. With LLMs in the picture it's clearly a dead end.

To actually realise personal computing we must enable users to construct structure themselves, share it and iterate upon it. While rare, "vibe-coding" means someone who understands their problem deeply enough can now assemble their own solution, provided the medium underneath allows it. While the LLM can help translate our ideas into technical solutions, we're still missing a substrate that can coherently express open-ended thought.

This is hard. But mostly because we start from the wrong end: creating a universal model. Human thought is multi-modal and requires equal parts sketching (think Figjam), research (think Notion), experimentation (think After Effects) and analysis (think Excel). Today, there are hard disjunctions between these modes.

When we invent technical primitives: operating systems, databases, CRDTs, dynamic views and then try to retrofit human thought onto them... It never covers all the modes. The tools stay powerful but alien, or they get simplified into something that loses the power entirely.

What does the imagination actually need in order to construct a world? The technical primitives have to serve that. They are a byproduct of humans doing what matters to them, not invented first and justified later.

Stop designing abstract systems for abstract people. Start from world-building. Start from the story the user is trying to tell themselves about their own informational reality. The characters, the places, the things that matter to them. Then ask what the system needs to express in order to support that story as it evolves.


LLMs aren't a silver bullet but they enable something crucial: fuzziness in the dialogue. Now you can gesture toward intent and watch structure emerge. You can say "group these somehow" and negotiate what "somehow" means. You can be vague and get somewhere.

This is powerful but only if the substrate can hold what emerges (and insulate you from footguns). You need fractional subdivision (things that break into smaller things without losing coherence). You need derivative definition (the ability to say "this is like that, but different in these ways") without copying everything. You need to understand who can see what, when, and where. Yes, for security, for privacy, but also for coherence. For the story to make sense.

The real value LLMs can bring: they can tell the story of your information system in your terms. The characters, the objects, the places you're already familiar with can be rolled up into a narrative about what's happening. What changed. What matters.

A world generates a story. And world-building is what the computer is for. Not in the fantasy sense, but in the practical one. Running your business is world-building. Raising a family is world-building. Any creative project, any logistical challenge, any attempt to understand your own life. All of it is the same process: making sense of people, places, and things as they change over time.

I have been working on this for years now and I finally see that what stands between the computer and the unbounded imagination of humans is the courage to not know what's best. To let the user experience emerge through dialogue, not manipulation.

← Index