Programmable web apps
The dream of a programmable web (and its inevitable nightmare)
I was reading about Google’s new vision model Gemini 2.5 Flash Image. Google is generous with free tiers, and they had a demo up in their AI Studio platform. It’s a straightforward app: upload an image, make edits, apply filters.
But what’s interesting is that instead of a black-box demo, they actually ship the code. You can see the prompts and logic running under the hood. Even better, they expose Gemini itself so you can edit the app live.
Naturally, I wanted to see if I could turn it into a headshot generator. I asked the model to extend the app with that feature, and it just worked.
From Static Pages to Programmable Frontends
The history of the web has always been about moving more power to the client:
Static HTML → Write once, ship, and render.
AJAX → Gmail showed us you didn’t need to reload the whole page to see new content.
Client-side JavaScript → Entire apps now run in the browser, with all the pros and cons that brings.
So why stop at rendering? Why not push compilation to the client as well? That would mean programmable frontends where anyone could reshape the interface on the fly.
Imagine:
A Gmail button that filters unread mail (still shockingly absent).
Custom keyboard shortcuts on YouTube.
An Amazon homepage stripped down to only what you care about.
The current model treats frontends as proprietary. But most apps are just CRUD layers over a backend anyway. And most frustrations with web apps aren’t about backend data, they’re about the interface.
Why It Won’t Happen
This will obviously never catch on.
For LLMs, it works: the model is the product, and companies are happy to let others build the UX around it. But for most companies, the UX is the product. Giving users the ability to rewrite it at will makes no sense, it’s essentially giving away your value proposition.
Why It Shouldn’t Happen
Even if it did, it would probably be a disaster.
Most people don’t want to design their own product experience.
Those who try will likely make it worse.
In product work, the golden rule is: never ask users for solutions, only for problems. If they could design the right solution, they wouldn’t need your product in the first place.
But Still…
That said, the idea of programmable interfaces is compelling. A saner version might be something like:
A local MCP-style server on the client.
A Chrome extension that exposes hooks into the site.
Users (or third-party devs) can then inject changes in a structured, controlled way.
This would let you bend apps without breaking them - an extension of the web’s original openness.



