Everyone Builds Software
So let's get more people started by building toys together
In Who Builds Software Matters I observed that AI would enable a new type of builder. People who are not traditionally software builders would now be creating software. And the resulting software would be much more personalized. But they would do so in tighter collaboration with machines and with each other.
I received a lot of follow-up questions about what I actually had in mind for this kind of collaboration. So I wanted to present some specific examples to illustrate what I’m imagining.
An under-explored niche
I’m curious about an underexplored niche to start: user-generated games. Games are often the gateway drug to programming. They were for me back in the 1980’s. It’s as true for kids today who spend hours modding Minecraft or scripting Roblox. Roughly half the world plays video games in one form or another. Everyone could imagine some change to a game they love. We can make more personalized, customized games. Take your favorite game and remix it with a new color-pallete, theme, skin, or soundtrack. Now you’ve created something.
End-user programming and sharing
LLMs for generating software like this are raw today, but the pace of improvement is quick. Admittedly, the current workflows are poor. I often use LLMs to help me with basic coding tasks (e.g. when I’d like to bang out a simple python script). But there’s no way to generate and run a python script in-line with the code generation tool. So I end up copying and pasting the generated script into vi and running it in a local terminal session on MacOS. I’m still acting more like a software developer than an end user. Although I can run the software on my localhost, I can’t share a link to let other people run the same software.
Now imagine such a simplified tool existed. I would love to use it to generate and share little scripts/tools I make which I find useful. But I could also use it to generate simple user-generated games. I could make games hyper-customized to my own interests. And I would want to share the resulting game I built with other people. I could ask an LLM to generate a crossword puzzle that would be relevant to people living in Mammoth Lakes, CA. My family spends a lot of time in Mammoth Lakes and we know a lot of people in town who would find it fun to play. It’s very personalized, but very niche. Tiny TAM. Software of the future will look more like this than some monolithic payroll service built for everyone. So if you think today’s software market is big I’ve got news: you ain't seen nothin' yet!
So I make a hyper-personalized crossword puzzle and share it with friends in the town of Mammoth Lakes, CA. You should be able to play by clicking a link on the web. Then you may choose to remix/fork/clone and make your own customization. Maybe you want to make one for people who live in Miami. Maybe you want to add timers for the playing of each board. Maybe you want a leaderboard of all players of your puzzle. Dream it up and make it so. Copy someone else’s work and improve it.
Remix, Share, Inspire
It's an idea whose time has come: can we make a platform for creating software by explaining the ideas in our heads? Imagine an end user chat service that interviews you about your requirements. Then it builds and deploys the software product you’re imagining as a link on the web.
You can share what you built. Other people can access it on the web. Now the magic: they can use a similar interactive process to remix the software you deployed.
This is the way open source software developers work using tools like Github today. But software developers are a tiny niche of all people. And open source software developers are a tiny niche of software developers. This pattern is how 8 billion software creators will create and collaborate. Discover an idea. Explain what you want. Deploy it. Share it. Inspire others. Create, remix, inspire. It's gonna be a wild future!
If you're building a project like this, I’m happy to play with early prototypes to give feedback.