Blog
- · 4 min read
I Asked AI to Port MilkDrop to the Web. It Didn’t.
I thought I had used AI to port MilkDrop3 to the web. I had not. The realization came embarrassingly late. The app was already built and deployed, and I was thinking about writing a post called Working with AI to Port MilkDrop to the Web. Before I started, I asked one basic question: what part of Ch…

- · 4 min read
Migrating Medium Posts to Astro
I had 11 old posts sitting on Medium. Since I already had a blog built with Astro, I decided to move them here so the Markdown and images could live with the rest of my site. I expected this to be mostly copy and paste. The text was easy. Images were not. I used ChatGPT Work with Codex to do the mig…

- · 7 min read
Exporting photos from the 1Core Family app
A step-by-step guide to capturing your own 1Core gallery requests, downloading the original media, restoring dates, and cleaning up safely.

- · 1 min read
Building with Astro
It feels like just yesterday, I started a blog with Next.js. I thought that was overkill for what I wanted in a blog, and decided to migrate to Astro instead. This feels lighter and also is a good excuse to learn the latest framework for SSGs. I was considering trying out 11ty as well, but there wer…

Projects
Browser music visualizer built around Butterchurn, with microphone, tab audio, local files, and 395 classic MilkDrop presets.
Interactive and printable beginner Rubik’s Cube solution I built for my 6-year-old daughter.
Visualization of a path of a lightning bolt through a maze, inspired by Numberphile.




