the redesign
i got annoyed at my own website. the old design was trying to be clean and minimal but it didn't really land. a friend told me it looked like a startup made it, and honestly, that was accurate. it had that generic developer portfolio energy that every site shipped in 2025-2026 has. nothing about it felt like mine.

the bigger problem was readability. i had this reaction-diffusion dot grid running behind the content, and while it looked impressive in screenshots, it actively destroyed the ability to read anything on the page. text overlapping with animated dots, low contrast on the parchment background, prose that you had to squint at. cool aesthetic, terrible experience.

so i tore everything apart and rebuilt around a terminal design language. warm parchment and ink colors, monospace labels, angular borders with corner markers, thin-bordered frames around everything. the whole site renders inside a single bordered rectangle with consistent margins from the viewport edge. every interactive element has a selection indicator bar on the left. every list is a file browser. the information architecture stayed the same, the skin changed completely.
the garden
the homepage now has a butterfly garden. it's a procedural dot-matrix scene spanning a wide landscape of bonsai trees, grass, ferns, and flowers, with butterflies flying through it. everything renders as uniform dots on a grid. the foliage, the butterflies, the labels, all the same dot size.

the butterflies have actual behaviors. they fly with different viewing angles so you see them from the front, the side, three-quarter view. they find foliage to land on by scanning the scenery for the nearest perch point, then fly diagonally toward it, decelerating as they approach. the camera follows individual butterflies at zoom, cycling between them every ten seconds.

it's the kind of thing that makes you stop and watch for a minute when you first visit. which is the point.
sign the guestbook
here's the part i'm most excited about. visitors can sign in with GitHub and become a butterfly in the garden. your display name, a short note, and your profile picture appear as a labeled butterfly that flies around alongside everyone else's. your avatar renders right in the label. the camera tracks your butterfly when you're signed in.
you can customize your butterfly's name, leave a note that other visitors see, and edit or delete it anytime. the garden polls for new visitors every minute, spawning them in as they sign up. if you're visiting right now, there's a "sign the guestbook" button in the bottom right of the garden. try it.
how it works
the dot-matrix effect comes from drawing normal shapes (curves, ellipses, filled rectangles) to a hidden canvas, then sampling it at regular grid intervals to decide where to place dots. this means the dots are dense where the shapes are dense and sparse where they're empty. it reads as a dot-matrix display showing an actual scene, not a random scatter of points.
the scenery renders once when the page loads. only the butterflies and particles animate per-frame. theme changes fade the whole scene out, re-render with the new color, and fade back in with a loader in between so there's no flicker.
the visitor system is GitHub OAuth with HMAC-signed session cookies, a PostgreSQL table for the guestbook entries, and a 5-minute cache on the API response. nothing fancy, just enough to make it work.
what's next
this redesign was a detour from what i'm actually working on. i have a few projects coming up that i'm really excited about, and this site needed to feel like mine before i started writing about them. now it does.
more on those soon.