Graham Hagenah
WorkProjectsAboutResume
WorkProjectsAboutResume

Projects

Noteworthy projects I’ve built on my own time, from 2021 to 2026. Most are written in React and TypeScript, with Remix for full-stack apps, Python for gathering data, browser APIs for sound and speech, and GitHub Actions and Pages to build and host them.

Stacks' home page in a desktop browser window: loans in two columns, books borrowed from friends and lent to them with their due dates, Piranesi 5 days late, then books to read next, beside a Friend activity column of notes on Circe, How to Do Nothing and The Overstory, and a phone open to Piranesi by Susanna Clarke, lent to Sam, with Anika and then Lena in line for it

Stacks 2023–2026

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 → 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 six 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 → Bounce in a desktop browser window, its song sections laid out as rows of chord blocks, beside a phone open to the verse: its chords and drums on a timeline, and below them the chords of G minor to tap and add

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 → Flow Sequencer's home page in a desktop browser window, with Crow Pose as the flow to try and its poses drawn in a row, beside a phone open to that flow one pose at a time: Easy Seat, drawn large, with its cue and 8 breaths above the player

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 → Retro Blackjack in a desktop browser window, in plain gray and monospace type: the player's hand, an eight, an ace counted as one and a jack for 19, in a grid of card slots outlined in line art, above Hit, Stand, Double and View Dealer buttons, beside a drawing of the green handheld blackjack game that inspired it, its screen showing the same grid with a king and an eight for 18

Retro Blackjack 2021

Blackjack against the dealer, inspired by the classic electronic handheld: the card slots are drawn like the segments of its LCD screen.

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.