What it is, why it exists, and how it's made.
A personal website shouldn't need a reason to exist. But this one has several, so here they are — in no particular order of importance, because ranking your own motivations is a fool's errand.
Essays on movement, music, dance pants, and whatever else refuses to stay in my head. The writing page is the front door to all of it.
My students needed a place to find class notes, video recaps, and technique breakdowns without scrolling through group chats from 2019. This is that place.
It is genuinely uncouth to list your accomplishments in conversation. "I've competed in four countries" is a weird thing to say at a social dance. But on a website? Totally fine. That's what websites are for.
Bios, photos, video clips, teaching topics — everything an event organizer needs to book me, packaged so neither of us has to dig through email threads. The media kit is the express lane.
I like building things for the web. This site is a living portfolio piece — designed, built, and maintained by hand. No templates. No Squarespace. Just opinions about typography and an unreasonable attachment to terracotta.
Eventually there will be things to sell here. Workshops, maybe. Digital resources, probably. Shag-themed merch, possibly. The infrastructure is being laid.
The content lives in Obsidian — a local-first markdown editor. I write and organize everything there, tag pages as public, and a build script handles the rest.
The site itself is Astro — a static site generator that ships zero JavaScript by default unless you ask for it. Pages are pre-rendered HTML and CSS. Fast, simple, no framework tax.
It runs on a Digital Ocean droplet behind Nginx. SSL via Let's Encrypt. No CDN, no serverless functions, no build pipelines that take longer than making coffee. Deploy is one command.
Design and code are written with Claude — Anthropic's AI. I direct the architecture, design decisions, and content. Claude writes the implementation. We argue about spacing sometimes.
This page weighs less than a single Instagram story. You're welcome.