Tilling the Garden: A different way to use AI to make interesting and useful apps
The End(s) of Argument
SubscribeSign in
Tilling the Garden: A different way to use AI to make interesting and useful apps<br>Rebuilding the internet of weird little things one data enrichment at a time
Mike Caulfield<br>Jun 04, 2026
10
Share
I’ve been talking recently about Plot.fyi, my new film recommendation site. That’s partially because it’s pretty neat, and has resulted in me finding lots of great films. But the most interesting thing about the site is how it uses (and doesn’t use) LLMs.
Everyone knows the way an AI-driven site is supposed to work. You have a user who asks a question, like “What are 10 films like The Hateful Eight?” That question gets taken from the user and embedded behind the scenes into a larger prompt that provides some instructions about values, methods, and sources, and is fed to one of the Big Three LLM models. You get an answer back. If the prompt is good and some well-chosen post processing is used to check and ground it, you hopefully get something useful. As the models get better, you need less of a wrapper and less post-processing, supposedly at least.<br>With this approach, the core value of the exchange is in the model itself, assisted by the wrapper. But as many people writing these wrapping applications have discovered, if you live and you die by the model you hit a bit of a Catch-22:<br>If what the model does is expensive , you pay for each and every request at an unsustainable rate for scaling. You’re the front end for a model, and you absorb the risk and the makers of the model make money whether you succeed or not. As they say in the gambling industry, the house always wins. And in this case the LLMs are definitely the house.
If what you’re doing becomes cheap and easy , you’ve got a different problem, because now no one needs you at all . The hope that the cost will come down for your backend functions is a bit of a monkey’s paw wish. If it doesn’t come down you bleed money. If it comes down too much people will just do it in the LLM, which might be even a bigger problem.
The brutal economy of wrapper applications is part of the reason I’ve generally circulated reusable prompts rather than build wrapper sites. At least with prompts I’m not absorbing the risks of investing in something where I’ll pay a tax per user until it’s made irrelevant.<br>Back to the digital garden
Is there a way to avoid this conundrum? For some set of things, yes. You can extract the value out of the LLM and put it into content you control and cultivate directly.<br>This is a bit of an ask, but I’m going to ask you to go to Plot.fyi for moment. Click around it for about half a minute. Thirty seconds. Understanding what the site is — even just having a thirty second understanding — is crucial to understanding my next point.
In case you’re wondering, yes, I do think that the blood-soaked Tarantino film The Hateful Eight is in fact parallel to Murder On the Orient Express in many ways (though a perfect response I think would surface And Then There Were None). It’s actually these sorts of connections that excite me.
Ready?<br>If you clicked around, I imagine you think it looks like any number of AI/ML sites that select films by taking an input (a film you like) and find relevant matches by feeding that information with a prompt wrapper to AI.<br>In fact, while I built it using AI, the site itself uses no AI at all.<br>It doesn’t even use a server. It doesn’t have a database. There is no backend.<br>The entire application is HTML and JSON. There is an initial hit to bandwidth in the form of a 1.9MB data file.1 After that the program runs entirely in your browser, consuming the practical equivalent of zero CPU cycles.<br>If you want to visualize the size of that data file, here’s a 1990 ad for a 1.4MB floppy drive:
How is that possible? How can a program act like an AI recommendation engine for over 10,000 films and use no AI?<br>The key is using modern AI, but using it in ways we used to use AI in the past. I’m not saying the following approach works on everything, but for some subset of things you can apply it. I detail it here<br>An internet of weird little things (without the AI tax)
The way the site works is this. I spent the past two months using Claude Code to tag a dataset of 10,000 films with a variety of tags I invented that flag certain plot elements.<br>This shouldn’t seem radical. We used to enrich datasets with tags a lot before we got these powerful systems that could synthesize information without needing our own rich, tagged data. (Researchers still do, all the time!)<br>What’s new is the scale of things you can accomplish with a model the size of Claude Opus. Ask it for the themes of a relatively little known film from the 1940s, and it will spit out fairly accurate bullet points for you without needing to fall back on search. Ask it if any of twenty listed films have a “redemption arc” for the main protagonist, it will, with...