12 Oct 2026
When every monkey has an AK-47
Six small apps I built this year, each for a problem I had myself. I'm a product designer, not a developer: the code was written by an AI coding agent, and my part was the product decisions, the interaction details and saying no to the versions that didn't feel right. Below is what each one does and the UX decisions I'd point to.
Tomorrow and HotterColder are open to anyone. Yesterday needs an account. Tumblr Keyboard is wired to my own Tumblr, so the recordings are of my dashboard. hitachki is recorded on its preview, which runs on six bundled releases. The GitHub dashboard is the live one, in its public view.
Yesterday
A daily mood log. In 2016 I designed it as a printed poster calendar: every morning you rated the day before from 1 to 7 and joined the dots, so each month became a line graph. The poster failed in practical ways. You forgot the pen, or the morning, and a missed day was a permanent gap.
The app keeps the idea and fixes those failures. A notification does the remembering. Rating is a single tap on one of seven stacked rows, and a three-day window lets you fill in a missed morning instead of losing it. The only colour in the interface is the rating scale itself, red through grey to green, so colour always means a rating. The year view can be read as colours, as photos or as the poster's original line graph, and the insights page shows patterns without streaks, because a streak turns a diary into an obligation.
Tomorrow
A to-do list and a calendar on one screen. Tasks without a time sit in a sidebar, and you schedule one by dragging it onto the calendar. That drag is the core interaction: a list lets you keep twenty things you'll never fit in a day, and putting a task on the grid makes you find the time for it. You can also type a task in plain language, like "coffee with Ana tomorrow at 4pm", and it lands in the right slot. Changes show on screen immediately instead of waiting for the server, deleting gives you a few seconds to undo, overlapping events sit side by side instead of on top of each other, and everything is reachable from the keyboard through a command palette. Workspaces such as Personal and Work can be hidden and shown with one click.
HotterColder
A weather app that answers one question: should I dress differently tomorrow than I did today? The answer is one word (hotter, colder or the same), a number for how much, and a short list of what to bring. It compares feels-like temperature, because that's what you dress for. The background colour shows the actual temperature, on a fixed scale from deep blue at −30° to red at +50°, with today's colour at the top of the page and tomorrow's at the bottom. Every city has its own address, like /tokyo, so a link is also a share. Switching to Fahrenheit never changes the verdict, only the numbers. Try it at hottercolder.vercel.app.
Tumblr, one image at a time
The Tumblr dashboard without the infinite scroll. One image at a time, full screen, moved with the arrow keys. Every image you've seen is remembered, so nothing comes round twice, even when forty people reblog it. A progress bar counts down the images you haven't seen yet, and its total is fixed when you open the app, so it can't grow while you read. That gives the session an end, which an endless feed never has. Tab opens a panel with the post's details and the shortcuts, hovering the counter shows all-time stats, and T switches between themes. Reblogging is one key, and Z undoes it.
hitachki
A listening desk for my Spotify Release Radar archive, where I decide what goes into my hitachki playlist. One track at a time, like Tumblr Keyboard. The number keys jump through a track in 20% steps, so I can hear the intro, the drop and the outro in a few seconds. Enter likes a track, and moving on without liking it discards it, so every track gets a decision and nothing piles up. U undoes the last one. The cover can be the sleeve or a record that spins while it plays, with a glow taken from the artwork. While I'm practising, it only writes to two playlists it made itself, never to the real ones.
GitHub dashboard
Everything I build, on one page: how often I commit and at what hours, every repo with its live site, and the pull requests with how long each was open. One time range at the top scopes every figure, chart and list under it, so the numbers always agree. Colour is spent only on identity: each repo keeps the same hue in every chart, and magnitude is drawn in ink. These are my real numbers, in the public view, where private repos without a public site are numbered and pull request titles are left out.