Teaching, not configuring.
Houston apps don't have a settings page. Users teach the app by talking to it, and the AI writes the rules down so they stick.
The problem with settings
Every app has preferences. Things some users want and others don't.
Traditional apps handle this with a settings page. Checkboxes. Dropdowns. Forms.
This breaks down fast. The settings page grows. Users can't find what they need. The preferences one user wants conflict with what another expects, and no single set of defaults is right.
How Houston handles it
Every page has two prompt files:
The seed is what the page is for. Written by you, the developer. It ships with the app and never changes at runtime.
The local file is how the page gets personalized. Starts empty. The AI writes to it when the user teaches something new.
The effective prompt the AI reads is the seed plus the local file, concatenated. The seed provides defaults. The local file overrides them.
How the AI actually learns
A user says something like:
Behind the scenes, the AI appends a line to
prompt.local.md for this page. A week later, in a
fresh session, the AI reads the same file and honors the rule.
Automatically.
If the user changes their mind, they say so. The AI removes the rule. Same file, same mechanism.
They just talk to the AI. The AI takes care of writing things down. That's the point — the user gets to use their own words.
What the user sees
The user doesn't see prompt.local.md. They see a
list labeled What the agent has learned about this
page:
-
Don't auto-email clients when I delete them.3 days ago
-
Always show amounts in USD.Last week
-
Mark clients as VIP when they spend over $10k.Last month
Each rule has a short, plain-English summary. Each has an undo button. Click it, the rule is gone.
Under the hood, this is git. Every change to
prompt.local.md is a commit. Every undo is a revert.
The user never sees the word "git."
Updates without losing teachings
Here's the part that matters when you ship v2.
You improve the seed prompt. You add a new default behavior. You ship an update. Users install it.
Their local teachings don't get overwritten. The seed updates underneath. The local overlay stays on top. Both apply.
The user gets your improvements and keeps what they've taught. No migration, no reset, no "sorry your settings are gone."
Settings ask the user to think like the app. Teaching lets the user speak their mind. The AI translates natural language into persistent rules. The user says what they want — in their own words — and it sticks.