Turning 'Someday' Ideas into 'Today' Projects with Gemini
A year ago I didn’t think much of LLMs for coding. Just glorified autocomplete at best, useful but just that. I have partially changed my mind, although I didn’t realise what was the difference until recently.
Imagine an abstract personal project you want to work on. It might be one you have been meaning to write for a while, or something you thought while in the shower this morning. Think about it for a while. You’ll find a few problems and unknowns already just by thinking about it. Maybe you want to work in a new language. Maybe you are not sure if something is doable in the browser or not. You may not have enough time this week to start.
Each of these is a small bump on the road to advancing with the project. Not even finishing: most personal projects are never really finished. If you think about them in isolation, they are small bumps. If you were driving, you’d barely notice them. But for starting they don’t really look like small bumps one after the other: they are just a giant mountain between you and somewhere.
And more often than not, when you are faced with this huge mountain you just open Instagram, or at least go for a walk.
Like many, I found myself stuck at this stage with most of my personal projects (though Instagram wasn’t my distraction of choice, I prefer reading). They existed as ideas I wanted to explore and toy with, but never “had the time” or “had the energy” to start them. Every one of them would require this huge push, one that I could only manage a few times per month… or per year. For example, during the pandemic years (2020 and 2021) I wrote:
- motllo, project templates requiring no repository, just a markdown file.
- guillotine, an Electron (& works in browser too) tool to place a view of your camera on your screen, for screencasts.
- glancer, a converter from Youtube videos to screenshots + captions in a single-HTML page, so you can quickly have a look at technical presentations.
and a couple of small things more. Ideas I’d had on my head for some years, but until I was forced to stay at home and bored I didn’t find the time. And even then, they were just a few I tackled.
LLMs (Gemini in particular, for obvious reasons) changed this. For not-very-large projects, I could use Gemini to get me past the initial bumps (just by quickly asking about these unknowns), so I could decide whether I wanted to continue with the project or just go for something else. It’s a very small difference, but it adds up very quickly. And the difference shows: whereas I’d have tackled 7-8 projects in 3-4 years before, in the past 1.5 years I have worked on all these with the push of an LLM for the first bumps (I’m not linking to them, all are or will be available on my Github):
- Two Chrome extensions I use daily.
- Several “fun” projects using Raspberry Pico devices with or without screens.
- A game (and one in progress) for the PicoSystem (a Raspberry Pico-based console).
- A couple projects with Homebridge to run some things as part of Apple Home.
- A Personal Knowledge Management system inspired by the Acme text editor (and ideas and features I thought about 10 years ago).
- A distraction-free editor for a Raspberry Pico with an eInk screen (WIP).
- A distraction-free editor for the Kindle (via a Raspberry Pi).
- A couple Anki “custom templates” with some weird HTML/JS.
- Algorithmic art sketches.
There’s quite some variety (and I skipped a couple I couldn’t condense above). All in all, more than 18 projects in not even 18 months.
Most of these are simple Saturday afternoon (just one hour or maybe two) projects, others are longer (several months and still evolving).
It does not matter.
Knowing that I can get past the annoying initial parts of a project and into the fun of actually getting it to work for real has been an invisible game changer.