Some of the writing on this page was drafted by AI.

Overview

AudioVerse is a non-profit media platform hosting a large library of audio and video recordings. I led the rebuild of its public frontend on Next.js, working from designs by an outside design firm, and directed the work on the GraphQL backend and admin dashboard behind it.

  • Mine
  • Everyone else
Commits per month across every repository: mine above the line, everyone else's below. 3,352 and 4,470.

Stack

  • WordPress plugin2018—2020 · 439
  • Gatsby prototype2020 · 86
  • Next.js frontend2020—2025 · 2,066
  • GraphQL API2020—2025 · 571
  • Mobile app2020—2022 · 31
  • Legacy website2020—2021 · 29
  • Admin dashboard2020—2024 · 20
  • Zapier integration2021—2022 · 37
  • AWS infrastructure2022—2025 · 39
  • Other repositories2020—2023 · 34
My commits per month in each part of the system, with the years and total for each. Every row shares one scale, square-rooted so the small ones stay visible.

Home

These are captures from 2024. The live audioverse.org has changed since, and no longer represents my work.

AudioVerse home page: sidebar navigation, "Sound Doctrine" hero, latest content grid, blog posts, testimonials, and donation sections

Discover

AudioVerse Discover page: recent, trending, and featured teachings in card grids, plus blog posts, stories, and conferences

Recording

AudioVerse recording page: video player with speed and download controls, description, series metadata, and a persistent bottom playback bar

Built and directed

I wrote most of the Next.js frontend and directed the work on the GraphQL backend and admin dashboard.

  • WordPress plugin439 / 441 · 100%
  • Gatsby prototype86 / 94 · 91%
  • Next.js frontend2,066 / 3,103 · 67%
  • GraphQL API571 / 1,882 · 30%
  • Mobile app31 / 1,094 · 3%
  • Legacy website29 / 958 · 3%
  • Admin dashboard20 / 714 · 3%
  • Zapier integration37 / 37 · 100%
  • AWS infrastructure39 / 41 · 95%
  • Other repositories34 / 725 · 5%
  • Mine
  • Everyone else
Every commit in each part of the system over its whole history, and how many are mine. Bots excluded.

Accessibility

The rebuild shipped with an accessibility backlog too large to clear in one pass, which is why I built Pa11y Ratchet. The CI action only fails on an increase in the number of accessibility issues, allowing a team to whittle an existing backlog down over time.