

You’re studying to be a programmer, right? You don’t mention your comfort language, so I’m going to try to keep this language agnostic.
Here’s what you do:
- Figure out the absolute simplest application you could possibly build. I’m going to suggest a to-do app, because it’s traditional and it’s a dead simple concept.
- Figure out the absolute simplest version of that application. I’m thinking it just renders a hard-coded list of to-dos with exactly one piece of interactivity, a button to cross off an entry.
- Add another piece of interactivity: Make the rendered text of a to-do entry editable.
- Add another piece of interactivity: Make the list resettable, so your edits and cross-offs vanish.
- Add another piece of interactivity: Make it possible to add entries to the list.
- Add another piece of interactivity: Make it possible to turn the list green.
- Add another piece of interactivity: Make it possible to remove entries from the list.
- Keep adding visible features until the frontend is the best goddamn to-do list you can make.
- Create a backend. Your backend has a database (such as MySQL). It has one table, which contains every to-do.
- Your backend should expose a REST API. If you don’t know what that is, read up on it. They’re very simple. Long story short, it’s a means of sending and receiving structured JSON.
- Here’s where your app gets real: The REST API can read from and write to the database. That means no more hard-coded entries on the frontend. Your frontend will now read from the REST API when it loads, and populate the to-do list from it. When you delete an entry, it will be removed from the database. When you cross one off or turn it green, it will change in the database.
- Congratulations, you’ve built a rudimentary real-world application!
There’s also the fact that what we are currently calling AI isn’t, that there are better options that aren’t environmental catastrophes (I’m hopeful about small language models), and that no one seems to want all the “AI” being jammed into every goddamn thing.
No, I don’t want Gemini in my email or messaging, I want to read messages from people myself. No, I don’t want Copilot summaries of my meetings in Teams, half the folks I work with have accents it can’t parse. Get the hell out of my way when I’m trying to interact with actual human beings.
And I say that as someone whose job literally involves working with LLMs every day. Ugh.