During my six weeks of paternity leave, I wanted to try building some things I never would have attempted before agentic engineering. It went pretty well! I’ll share some things I built, with screenshots, in this post. There has never been a better time to be a maker!
Naturally, the time off has been mainly colored by snuggles, diapers, doctor appointments, friends and family, laundry (more than usual!), and learning many new skills and patterns (and lack of patterns). This is our first baby. I had no desire or mental space in the early days of the transition to tinker. But, in the last few weeks, I have found some time to tinker. Sometimes tinkering is nothing more than the /voice mode where I use my space bar to talk to Claude (the speech-to-text works great!), sometimes while also holding my daughter.
What I built in ~3 weeks
Habit-tracking app
I built a custom habit-tracking app. I have a public status page for habits that I want to commit to publicly, a private admin interface, and an Android app. Claude and I designed a notion called “collectors” where I can pull data from other systems – e.g., pulling my blog post frequency from my RSS feed, or (future) my exercise frequency from Strava. The Android app has a cool widget that I’ve put on my home screen; it helps me notice habits that I need to knock out before the day is over. I also have configured notifications via the admin panel so that for certain habits, I get a push notification at a particular time of day if the habit isn’t logged yet – e.g., reminding me to floss in the evening, or to do a particular stretch around noon. My app is not on the app store; I’m using Obtainium to automatically install it on my Android phone from the private GitHub repo’s releases.
My “Streaks” app has a widget that lives on my home screen, right under the weather.
Mattermost migration and plugins
I migrated a church committee’s communication from Slack1 to Mattermost and built a few custom Mattermost plugins. The plugins fill some gaps: One allows us to subscribe a channel to an RSS feed, so we get messages about new blog posts. Another allows us to create a channel email address, so we can forward emails into Mattermost. Another allows us to create polls – yes, Matterpoll exists, but it was missing some features that I wanted. It was trivial to build these plugins with Claude. I did a few passes for UX improvements and agentic code review, but it was pretty trivial. The migration itself was also LLM-assisted: I had exported Slack data at various points over the last couple years to avoid losing history, and instructed an agent to write a script to merge these archive files together, and then import it as one history into Mattermost.
Example of the email plugin posting an email to a channel
Twitter Bootstrap migration
I also mostly one-shotted the migration of a Rails app from Twitter Bootstrap 2 to 5. It’s a Rails app that I built 15 years ago for my parents’ small business. The app is still used but it never made sense for me to spend the time on migrating Bootstrap – but with Claude, it was relatively cheap to do. I reviewed the one-shot aesthetically, and asked for some tweaks; the project took a few hours, instead of the days that it almost certainly would have taken otherwise. Then I had Claude help me roll it out with a feature flag so users could switch back and forth as needed. I fixed (or, asked Claude to fix) a few minor issues reported by users.
Other experiments
I have a private “experiments” repo where I do all kinds of small one-off things. Here are a few recent examples:
-
I used Claude to build a macOS app2 to help me tidy my inbox; it groups emails by senders, and makes it easy for me to take bulk actions like delete/archive emails from a sender, and to one-click unsubscribe from mailing lists I no longer want. This was a total of 7 short prompts and works great for me; it even has a “summarize email” feature that uses Apple’s built-in intelligence.

-
I used Claude to make animated flight intros for videos: I give it two points on a map, and it renders a globe that turns from one to the other while a plane traces the route. Claude built it as a Three.js scene that gets recorded frame-by-frame to an MP4. Here’s one from Lima to Nairobi:
-
I used Claude to build a data pipeline that takes a photo of a bookshelf and draws bounding boxes around each book and attempts to identify the books. I wanted this to be a traditional ML solution, and something I could run without a frontier model, so I asked Claude to find open models for the bounding boxes and the text detection. Together, we also identified a way to get a list of published book titles and downloaded an open source database of books; I then had Claude build a simple search engine for these using SQLite. I then also had Claude build a ground-truth labeling system, so I can in my browser look at the results of its labeling attempts and fix them, as a way of building up a ground-truth dataset. I spent a few hours on this one afternoon and haven’t revisited it since but was really impressed how quickly it came together. To make it great, I would need to collect some ground truth and then have Claude help me optimize the data pipeline.

Go tinker!
I’ve had a lot of fun building. Sometimes I’ve had existential dread about all the changes happening in software, wondering if I still have a role to play; but when I stop reading doomer predictions and start building, I remember how much fun I have bringing my dreams to life; and I remember that what I build is still my ideas refined by my taste and experience.
If you take away one thing from this post, please try using your favorite agentic platform to build something for yourself. You can be ambitious. I hope you will have fun with it! I got into tech because I liked bringing ideas to life, and now I can do it even more readily!
-
Slack’s free version limits message history to the last 90 days. This was long a frustration for us, but the price for the Pro version was also not worth it. I configured self-hosted Mattermost. ↩
-
Credit to Thomas Ptacek’s Stop Making TUIs for the encouragement to stop building TUIs, which has been my default, and start building native apps. It took me a while to try it, and was way easier than I expected. 7 prompts! ↩