01In development2025 — present

ProdWars

An ELO-ranked beat-battle platform for music producers, inspired by chess.com.

Solo developer — product, backend, and frontend

  • Next.js 16
  • React 19
  • TypeScript
  • Supabase
  • PostgreSQL
  • Tailwind CSS
  • Zod
  • Vitest

Highlights

  • ELO rating engine with unit-tested rating math (Vitest) applied after community votes resolve
  • Skill-based matchmaking queue plus direct challenges between users
  • Randomized battle sample packs — 6 drum sounds and 5 synth one-shots — zipped and delivered in-browser
  • Supabase authentication with Google and Discord OAuth, email confirmation, password reset, and brute-force lockout after 10 failed attempts
  • Three timed battle modes (Lightning 5:00, Blitz 10:00, Classic 15:00) with one-minute warning cues

Overview

ProdWars is a competitive platform for music producers modeled on how chess.com handles competitive chess: ranked matchmaking, timed matches, and a rating that follows you. Each battle hands both producers an identical randomized sample pack, so wins come down to skill — not sample library size. When both tracks are submitted, the battle opens to community voting and the winner takes ELO from the loser.

Design choices

I built the app on Next.js 16 with React Server Components, using Supabase for authentication, Postgres, and storage. Form and API payloads are validated with Zod on both ends. Sample packs are assembled and zipped client-side with fflate, which keeps pack delivery instant and avoids server bandwidth costs. Route groups separate the authenticated app shell from the public auth flows.

Engineering depth

The parts recruiters usually ask about: the ELO engine is a pure, unit-tested module so rating math is verifiable in isolation; matchmaking pairs players from a queue by rating proximity; auth hardening includes rate-limited sign-in with a 15-minute lockout window and enumeration-safe password-reset responses; and battle lifecycle logic handles forfeits, double submissions, and vote resolution.

Status

ProdWars is in active development heading toward public beta. The core loop — sign up, queue, battle, submit, vote — is functional end to end.

Want to talk about ProdWars?

I'm happy to walk through the code, the architecture, or the decisions behind it.

Get in touch