Extensible Software in the Age of LLMs Pete Koomen of Y Combinator proposes 'Small Software' as LLMs enable extensible web apps, and Cloudflare engineer Alex Sherman argues that LLM-native software like Pi allows users to customize apps by asking, with Dynamic Workers as a fitting platform for this model. Most of the web software we interact with today is static. The developers have a limited amount of time and attention, and focus on building the features that serve the largest group of users. The top of the demand curve is well-served by existing software, but there is a long-tail of unmet needs that’s different for every user. Even if the developers were incredibly motivated to shove in every feature, user interfaces can only become so complex before they become unusable. https://newsletter.getprimitive.ai/p/when-to-design-for-emergence Every additional feature added complicates the product for every other user. If the market for that feature is small, it can actively make the product worse for every user who doesn’t need it. With this context the rise of LLM-assisted coding has been genuinely empowering for anyone who needed something that fell into this long tail. Software has gotten all… squishy software-has-gotten-all-squishy It’s become readily apparent that LLMs are really quite excellent at building Software for One https://www.ajwaxman.com/writing/software-for-one . Personal apps that side-step all of the complexity and accountability of enterprise software and are custom fit for a single person’s workflow. Pete Koomen https://koomen.dev/ at Y Combinator thinks there is an opportunity for what they are calling Small Software https://x.com/ycombinator/status/2079963726435021232 . I think they are onto something. Pi https://pi.dev/ is a good example of what I’m starting to think of as LLM-native software : a battle-tested core, but almost endlessly extensible just by asking, where users are able to share their customizations with others. In the past year your users have suddenly acquired the ability to speak code into existence. Most existing software can’t leverage this. Pi leans into it. I suspect we’re going to start seeing more software following this self-extension pattern. However most of our existing examples of pluggable software are local software: AI agents, developer IDEs, mods for video games, Blender add-ons, CAD extensions. These tend to be professional tools with a high barrier to entry. The web is the most successful software distribution system in the world. It shouldn’t be left behind. My hypothesis is that there is a new opportunity for Extensible Software on the web . LLMs radically lower the cost of authoring extensions, and modern sandbox primitives lower the deployment cost and provide good security boundaries. We can build our app as a solid, accountable core, and allow users to safely extend it in many directions by having LLMs fill in the missing pieces. We can give our users super powers. Disclosure: I currently work at Cloudflare, where high levels of exposure to Kenton Varda https://x.com/kentonvarda ’s writing have shaped much of my thinking here. Near the end, I’ll make the case that Dynamic Workers https://developers.cloudflare.com/dynamic-workers/ are a particularly good fit for this model, but I’ll cover several alternatives first. What would this look like? what-would-this-look-like A lot of web systems today rely on webhooks to allow the user to react to changes in the app. This ~kind of works, but it sets a really high bar for extension: building and operating a completely separate service plus dealing with whatever delivery issues arise. I want to be able to hook into record updates and slide in my own logic. “When I attach this tag to a record, run my function”. “Do this action for me on a daily cron”. Actually, I don’t want to have to think about that at all. I want to tell my read-it-later app: - Please send every article I fave longer than 4000 words to my