Graham Hagenah
WorkProjectsAbout

Projects

Things I’ve built on my own time.

Pushpin Boston in a desktop browser window, listing today's films, concerts and talks with their times and venues, beside a phone showing one film, You Can See Everything, open with a still from it and its showtimes at four theaters

Pushpin 2026

Concerts, films and talks around Boston, the Bay Area and Western Mass, gathered from venues' own listings. I'm its developer and maintainer.

Python · GitHub Actions · GitHub Pages

Read the case study → Flow Sequencer on a phone, showing one pose at a time: Easy Seat, drawn large, with its cue and 5 breaths above the player, beside the home page in a desktop browser window with a ready-made flow to try

Flow Sequencer 2026

Build a yoga flow one pose at a time, or play one of the ready-made flows.

React · TypeScript · Vite · Web Speech API

Read the case study → Bounce in a desktop browser window, its song sections laid out as rows of chord blocks, beside the same song on a phone, where the rows stack to fit the narrow screen

Bounce 2026

A sketchpad for song demos in the browser: pick a key, build a chord progression, and loop it.

React · TypeScript · Tone.js · Zustand · IndexedDB

Read the case study → Stacks' welcome page: its book-spine logo, the line Your personal lending library, and a button to create an account

Stacks 2023

A lending library for your own books: catalog what you own, connect with friends, and lend and borrow.

Remix · Prisma · SQLite · Tailwind CSS · Fly.io

Read the case study → Retro Blackjack in plain gray and monospace type: an empty player's hand outlined in line art, above Hit, Stand and View Dealer buttons

Retro Blackjack 2021

Blackjack against the dealer, drawn in plain line art, with sound effects you can turn off.

React · React Spring · Netlify

Read the case study →

Graham Hagenah

Full-stack developer making fast, accessible websites and applications.

Site

  • Home
  • Work
  • Projects
  • About

Projects

  • Pushpin
  • Flow Sequencer
  • Bounce

Contact

  • Email
  • GitHub

© 2026 Graham Hagenah. Built with Quartz.