Project

minimal-journal

The basic journaling app I wrote last summer; my first foray into terminal-based agent coding.

Motivation

I try my best to, from time to time, write out my thoughts and ideas. I find it helps me think more clearly, and just generally is good for my psychological state. For the longest time, I couldn't find an app I really liked for this purpose. Notebooks are good, but I prefer to type, and don't like having to carry too many books around. Obsidian is my main markdown editor, but I would find my entries getting scattered all over the place. I wanted something in strict chronological order, all hosted in one canonical place.

In the summer of 2025, while studying abroad in England, I was playing around quite a bit with Claude Code, and decided that this would be a good project to attempt to build with it. This was my first experience with making a piece of software using AI that I actually still regularly use.

Design

Funny enough, I still have the image of the piece of paper on which I sketched out the design of the app, which I later fed to Claude while designing:

Hand-drawn design sketch for minimal-journal
Initial design sketch

The basic idea really is just a minimal journal app with clean aesthetics and heavy use of keyboard commands. The app is running on Electron which, I know, is SUPER overkill for something like this. Maybe sometime I'll get around to porting it to native or something. At the time, on Sonnet 4, Electron was basically the only thing the current AI systems could write in, and I preferred to have the imperfect version real rather than trying, and likely failing, to make something somewhat more optimal. I suspect modern LLMs could get it native no problem.

Outcome

See below the screenshot of the final version of the app (with fake example posts helpfully filled in by Codex). I feel pretty happy with how close to the spec it ended up being.

UI screenshot of minimal-journal app
Final app UI

My main takeaway from this project was just how important it is to go into an AI coding project with a plan and an idea of an end state. It's really easy to get ahead of oneself, and end up spamming out a bunch of slop code that doesn't achieve anything all that valuable. In this case, starting with a clear spec was monumentally helpful.

View code on GitHub

Back to projects