← Back to Projects
Full-StackShipped

Count Coach

Dance practice tool with waveform selection and BPM analysis.

Built from a dance practice pain point: finding the right section and tempo quickly. The app combines waveform interactions with server-side tempo analysis.

Date
2025-2026
Signal
Signal + Web
Build stage
Shipped and used as a personal practice tool
Stack
Next.js, WaveSurfer
signal-processingaudiofullstackdance
Demo

Project notes

Highlights

What I built

  • Waveform-based segment selection tied directly to analysis calls.
  • Server-side BPM inference integrated into a lightweight UX.
  • From Colab prototype to deployed app.

Architecture

How the system works

  • Client selects clip region and posts audio segment metadata.
  • Backend processing runs tempo analysis and returns practice metrics.
  • UI overlays tempo guidance for targeted repetition.

Challenges

What made it hard

  • Syncing waveform selection with backend analysis boundaries.
  • Balancing analysis latency with smooth interaction flow.

Lessons

What I learned

  • Niche tools can be valuable if they remove repetitive friction.
  • UX clarity matters as much as model/output quality.

Stack / materials

Next.jsWaveSurferLibrosaPythonVercel
  • Future direction includes richer loop controls and movement-aware cues.

Media timeline

Build photos, clips, and process visuals. The goal is to show how the project evolved, not just the final screenshot.

Build snapshot
Count Coach media 1
Iteration snapshot
Count Coach media 2
Gallery 3
Count Coach media 3