Published on
I'm a big fan of making small (sometimes silly) programs. As a software developer, you have a superpower: you can identify problems in your life and fix them by creating some specific software that solves for exactly what you need. When scoped small enough, creating these tiny programs takes minimal time investment.
When you develop the practice of recognizing when a bit of software would be helpful, you see opportunities all the time. But you don't control when you get inspiration for these programs. So you come up with strategies for handling these bursts of inspiration.
One strategy: Write yourself a note (paper, email to yourself, some app on your phone) and maybe get around to it later. (You occasionally manage to get around to it later.) Another strategy: Think about the inspiration and trick yourself into thinking you'll remember it later when you're at a computer. You justify this by claiming if you forget it, it must not have been important.
These workflows are fine but they leave a lot of room for never following up. With modern AI tools, we can do better.
My new strategy:
I started using this technique in early summer 2025. Since then, I've been able to develop and iterate on a handful of single-page web applications this way. As models improve, it is getting even easier to knock them out. It works well for either making a new application or tweaking an existing one.
Here is my setup:
With this setup, I'm able to follow the above strategy with minimal friction. If I have an idea for a new little application, I open Codex and provide a description of what I want and what it should be called, and it usually manages to start work on it. When I have an idea for tweaking an application, I open Codex, tell it what subdirectory the app is in and what tweak I want made. All of this can be done from a smartphone.
When Codex is done, I do a quick scan through the diff, click the buttons to open a PR, merge it, wait for the deploy, and then check on the deployed artifacts. The apps end up published at jake.in/experiments.
It isn't all smooth; sometimes a problem is introduced. Depending on the problem, I'll either revert the code and try again or give Codex more instructions and try to have it fix it. If really needed, I'll fire up my laptop and fix it myself or iterate with AI on fixing the problem there.
The bar has been seriously lowered for creating specific software. Go do it. It is fun, but in a different way than traditional programming.
I don't know if this limitation still exists, but when I was initially setting this up my experiments repo had zero commits. This caused problems in Codex that were fixed by adding a single commit.↩