Projects

Things I've made. Most of them are still alive; some are fossils I'm fond of.

  • alpaca.blue

    A unified Bluesky + Mastodon client. It merges your timelines into a single chronological feed, matches cross-platform identities so the same person on both networks shows up once, and lets you post, reply, repost, and like from either platform.

    TypeScript · alpaca.blue · GitHub →

  • ThinkStack

    A daily curated feed of the 0-3 tech talks worth watching, culled from tracking nearly a thousand YouTube channels. Just the handful of talks each day that are actually worth your time.

    TypeScript · thinkstack.com

  • Zeitgeist

    A social feed summarizer powered by Claude. Sign in with Bluesky, Twitter, or Mastodon, and Zeitgeist fetches the last 24 hours of your timeline, groups posts by theme, and recommends posts worth interacting with. Bring your own Anthropic API key.

    TypeScript · zeitgeist.blue · GitHub →

  • Stuff Everybody Knows

    A guide to the rest of your web development career — the foundational knowledge experienced developers assume you already have. It started as a talk I gave more than 30 times to bootcamp graduates between 2014 and 2021, now expanded and updated into a 15-chapter website/ebook.

    HTML · stuffeverybodyknows.com · GitHub →

  • European Bios

    A continuous chain of mini-biographies of European historical figures, from 500 BCE to the present day. 83 short threads organized chronologically across Classical Antiquity, the Middle Ages, the Early Modern Era, and the Modern Era — everyone from Aristotle to Marie Curie.

    JavaScript · europeanbios.com/ · GitHub →

  • The Presidents, Ranked

    An arbitrary and opinionated ranking of every US president up to George HW Bush, sorted into seven tiers from "Awesome" down to "The worst." Assembled after reading a stack of presidential biographies — each entry has the portrait, number, and years in office.

    TypeScript · presidents.fyi/ · GitHub →

  • SF Street History

    A quick history of San Francisco told as a tour of its street and place names — each fact paired with the map location it's about; tap, swipe, or arrow-key through them.

    JavaScript · sfstreethistory.com · GitHub →

  • The Angle Bracket

    A tournament of every HTML tag, run as 57 Twitter polls across 7 rounds in a single week. This was a lot of fun to do and the winner was well-deserved.

    EJS · theanglebracket.com/ · GitHub →

  • Domain Name Generator

    A web app that generates short, pronounceable English-like words and checks their availability as domain names via the Namecheap API. You can filter by word length, count, and TLD.

    TypeScript · GitHub →