Supervising the Idea Factory: My Year of 60 Personal Projects
In 2024 I leaned on LLMs to get several personal projects done (around 20). This year I took that to 11 (60 projects).
All of these have been personal itches, ideas I’d had and wanted to see done. The LLM involvement has ranged from “helped me a bit in areas I was not interested in” to “I only opened the code when something did not work”.
I use the first person in this post, instead of saying “Gemini wrote this” or “Claude wrote this”. I wrote these games, apps, code. I treat the LLM as a very high level text editor, where English and not keystrokes change the code. You might see things differently, and that is completely understandable. I wrote about potential different ways of thinking and talking about code in Poets and Journalists, maybe that post resonates with you.
I will start with a breakdown of the projects by categories. You can search and slice and visit them in La Paradeta (which I do not count as a project for this year though). I will not link to the individual projects here.
Most of these are backendless, installable, progressive web apps (PWAs) written in vanilla JavaScript, HTML and CSS. It seems to be a sweet spot in LLM usage.
Games (28)
This is by far the largest category, with 28 entries. Since it’s very large I will split it in sub-categories.
Cognitive games (7)
I felt a bit sluggish during the year, and decided to write several games to play on my commute. I will expand on this in the conclusion.
- Rotator: a fork of a 3d rotation task with some bells and whistles I wanted.
- Clauer: a variation of the Symbol Digit Modalities Test (SDMT) in game form. It’s hard AF when using the harder modes, but I think UI-wise it turned out well.
- Gofre: a variaton of the Stroop attention test.
- Puzzling: a set of image / ePub puzzles to solve on my Xteink X4 reader.
- Mikado: a hardcore version of Rotator. Includes a n-back mode.
- Sis: a dice unfolding puzzle.
- Soma: a soma cube simulator. It includes an analysis page to visualize all solutions.
Word / Knowledge games (4)
This category started because I wanted a mobile-friendly version of a word game.
- Mots: This is the one. It helped a friend’s wife “survive” the last days of pregnancy on a very hot summer, so it was well worth the effort. Plays in 5 languages.
- Quid: a lightweight version of Semantle, the semantic-Wordle like game. It’s hard.
- Mussol: An analogies game based on analogy / reasoning datasets available online.
- Magrana: An anagram game reusing some of the styling in Mots.
Action / Arcade games (7)
Spilled over from last years' “roids” project, essentially.
- Destrier: A wave-based shooter with an Asteroids setting, fun and hard, if I can say so. Also the first game where I actually made an effort to have good sound effects. This was 90% human-made.
- Srp: A 3d snake game. It plays best on mobile, where controls are kind of intuitive. It’s too hard though.
- Totxo: A 3d breakout-like game, similar in aesthetics to Blkt.
- Eixut: I tried to replicate the “fun” in the controls in Bleak Sword. This is not there yet, but it’s a decent approximation.
- Flux: A weird cross between Tron and Snake. I do not remember where I got the idea, but it turned out very sweet and fun.
- Tong: A cross between Tennis and Pong (SFW naming on). I had this idea once in the shower and wanted to see how it plays. It’s “not there yet”, but I think there is something in the gameplay that actually works.
- Fluxstream: Reusing the Flux “engine” to create my own version of Dotstream, a Gameboy Advance game.
Puzzle games (7)
This was the starter, Shotgun Pollock was the first game of the year.
- Shotgun Pollock: A puzzle-like game with generative jazz music. It reuses some ideas from my algorithmic music and algorithmic art experiments.
- Apoquerar: Like mots, I wanted my own version of another game.
- Blckt: A 3d “tetris”, i.e. a version of Blockout! you can play on mobile well.
- Crossfire: a boardgame / turn-based version of Destrier. It has also boardgame rules available
- Puja: A version without ads of a kind of famous mobile game which is riddled with tracking and ads.
- Silence: A puzzle where you use interference to make a signal go silent. It’s hard but it feels good on mobile in particular.
- Chroma: A slimmed down (or fattened?) version of the game Coloris for the GBA. I wanted a version I could play on mobile, with shinier colors.
Misc and work in progress (3)
- Foragits: A Western-themed roguelike using
rot.js. Still far from being enjoyable, but there are bandits you can hunt. - Glof: My take on Desert Golfing. I planned on making it a bit more algorithmic art-like, but got sidetracked with other stuff.
- Fiat Lux: An incremental game. Still has no end condition. It has some good ideas on it.
Apps, editors, creative tools (16)
- Foowrite: A distraction-free editor using a Pi Pico with a variety of screens. Bring your own Bluetooth keyboard and battery!
- Garbuix: A live editor for a Graphviz-like syntax I use to draw concept maps. The renderer is a WASM Graphviz renderer.
- Mos: A pixel editor, reusing some of the usability language of Aseprite. I incorporated a slightly tweaked version in GB2Go later in the year.
- Pinta: A diagramming tool using a technique I usually use by hand (jokingly: mindmaps for people with OCD and a love for right angles). Many of the UX “language” of later tools I wrote comes from Pinta. First of my complex apps to be able to export standalone, self-contained HTML of the result (the first was Glancer).
- Tesseŀla: A pixel art camera. I had to fight a lot the code here because rotation-stable UIs on Safari are not a great fit for LLMs. A lot of human code here. Also one of my best apps for the year, I will likely convert it to a native one in 2026.
- Punt: I had always wondered how the ed line editor could look as a web editor. Here it is.
- Olivine: What if Obsidian disappeared? This could take over for me, partially. It reproduces most of the extensions I wrote this year.
- Pomo: A Pomodoro timer for the M5Stack Core2, with rotation controls (gyroscope).
- YACME: Yet another concept map editor. Supersedes Garbuix by being way better. Can even create presentations, which can be exported as standalone HTML pages.
- Quadrants: A diagramming tool to create Eisenhower-like matrices. Or calendars, or basically anything that has a grid where you put text freely placed. Uses many of the UX affordances (or lack of) in Pinta.
- Iconer: A tool to create simple icons with a single letter in a particular font, with styling. I was creating so many PWAs at one point that creating an image for the icon was most of the friction.
- Soro: A virtual soroban with lessons to learn to use it.
- Titola: A visual, animated GIF editor where you can add captions or images. Like a cheap iMovie for GIFs.
- Eink BG: Tool to adapt images to black and white to use as covers for my Xteink X4 or Kindle Paperwhite.
- GB2Go: A standalone, browser-only system to create games for the Gameboy original. Uses a kind of old version of the SDK, sadly, I need to look into updating it. I.e. this is like a cheap GB Studio I can use on my iPad.
- Tasca: What if Taskwarrior was web-only, local-first? This is it. I wrote this on the 30th of December and it is already the star of the new year.
Obsidian plugins (11)
I had a brief period where I was streamlining personal workflows almost on a daily basis by creating Obsidian plugins. I ended up with 11 of them.
- obsidian-fsrs-plugin: A spaced repetition plugin the way I wanted it.
- obsidian-snipper-plugin: Create daily snippets as I wanted.
- obsidian-ergodic-plugin: A way, way better random note plugin.
- obsidian-roba-estesa-plugin: Soft privacy plugin.
- obsidian-preso-plugin: Create presentations. Export them as standalone HTML+CSS or HTML+JS+CSS, even with a custom presenter view.
- obsidian-mirall-plugin: Quick way to create transclusions.
- obsidian-clau-plugin: A quick switcher with fuzzy and semantic search. It respects the privacy settings of roba-estesa and has some extra toggles for even more privacy search.
- obsidian-cambrer-plugin: Serve notes in a local browser.
- obsidian-nanananana-leader-plugin: Provides leader key like functionality in the way I wanted it.
- obsidian-retolador-plugin: A tricky one, fast and efficient highlighting.
- obsidian-escoli-plugin: Side notes instead of footnotes? They look way better.
Chrome extensions (5)
I spend most of my time in Chrome, and extensions are powerful. Last year I already scratched my own itches with my Best Before (expire tabs automatically), NT (custom new tab, I keep making it better since then) and Goita (edit and annotate screenshots), which I use regularly. This year, I doubled down.
- Suc: What if the browser was more “fun”? Adding “juice” to a game is adding useful effects that make the gameplay more satisfying. Here I added explosions and fireworks to email, a distraction free mode with overlays and a score. And since this was all about gamifying and full access, it also tracks your usage across tabs.
- Tafaner: I wanted to do stuff with self-messages to Whatsapp, and this almost works on a Chrome extension. It’s a pain though. No longer maintained or used.
- hed: Started as a highlighting extension using the “punt” ed editor. It still is, but it can highlight parts of the page, do certain transformations, edit clipboard… it is weird, but I use it almost every day for something.
- Drecera: An exploration of how to use the Gemini web app with page content. I don’t use it, it was just a quick test/hack.
- 2x4: An ePub converter for my Xteink X4 reader that grew to a web article converter for it. I eventually put everything under the Chrome extension, even if the PWA is usable on its own.
Looking back at this list, it looks as if it was all amazing, full-steam productivity. A factory of… slop? Cranking widgets constantly.
It is not the case. Ideas came in bursts, and I would work in parallel on two or three, refining each. Each of these has had my share of attention and polish. These are not throw-away projects or prototypes: most are not only fit for use, but I use them daily.
But there was a price to pay in terms of supervision and management that I did not expect.
Recap / conclusion
This might look awesome and sound like I encourage vibe coding as much as you want, but there is a hidden cost to this amount of “YOLO” projects, particularly when they solve pain points you have and you use them constantly: features and bugs.
During the hardest part of the Obsidian plugin months, I would spend my afternoons and evenings tweaking, fixing, or improving the plugins because during the daily usage I had found things to improve, or worse, new plugin ideas to implement.
This is not as bad for games, but for personal tools the cost of usage is huge.
Remember the sluggishness I mentioned in the Cognitive games section? The brain fog of exclusively using LLMs for solving problems feels real. I felt slow for most of the year because I was just managing the LLM, instead of solving the problems myself. Investigating the problem (even if it’s asking the LLM to check why X causes Y) pays off in comparison with asking it to just fix it (looks like X causes Y, fix it). It gives you a better mental model of the project (which you also need!) and prevents future mishaps. LLMs are… well, kind of stupid. It pays off to know how the system ticks for yourself (note: the system is not necessarily the code).
For 2026 I want to cut down on LLM coding on my free time. I plan on writing more games (using GB Studio and Pico8, LLM usage will be at most for syntax or research), tinkering with tracker music (using LSDJ and LGPT on some hardware devices), and other projects where I will be the one doing the stuff.
Appendix: how I use LLMs for these projects
My process for creating these projects has evolved over the year, but my usual workflow seems to have stabilised as:
- I discuss the idea and implementation with the Gemini web app, this usually happens on my phone or iPad. If the project is hard, or tricky, this can be several conversations, or even a Deep Research on the subject, exported as a document and passed through several conversations for refinement.
- If it looks sound, I get a basic version in the Gemini app Canvas tool, or just code blocks I can copy paste in an
index.htmlon my iPad and iPhone to see how it looks and feels. - I iterate a bit still on a mobile device, and eventually create a folder on my Mac and copy the file there. Maybe I keep working on the Gemini app and copying code changes over for a few iterations, it depends on how useful the existing context is and how much it has degraded.
- Then I ask Claude Code, Antigravity, or Gemini CLI (I’ll use “coding agents” below to refer to these) to refactor the single-page HTML into separate files, use ES modules, and incorporate my usual PWA flows (I copy over examples or provide access to previous projects).
- Iterate with new features using one the coding agents.
- If I have a large feature or refactor in mind, I import the whole repository in the Gemini web app and ask about what I want to do, then create a markdown code block with the plan I pass to one of the coding agents.
You may also be wondering how I use LLMs for text posts like this one: I use them just as editors. I share the text once I have a version I would not mind publishing, and ask where the text does not flow correctly, where the ideas are awkward. I ignore any rewrites they suggest, I just look at what they think is poor and try to make it better myself. Then I repeat.