$ cat projects/dance-connect.md
Dance Connect — Championship Management Platform
Event wizard, QR passes, live stage queue and judging for dance championships.
// why: Registration, check-in, stage order and judging belong in one live system.
$ cat projects/dance-connect.md▌
TL;DR
- Run the event: wizard, QR passes, guardian consent, live stage queue
- Measured speed-up: 338 ms to about 10 ms median static response
- No framework: vanilla JavaScript SPA, Node.js server, Neon Postgres
// what does it do?
Championship platform built during the JJ Software internship: a 7-step event wizard, QR battle passes, guardian consent for minors, a live stage queue, a live judging rubric and Server-Sent Events sync. A dependency-free vanilla JavaScript app on a Node.js server and Neon Postgres, with an Android project.
// why this project?
Running a multi-round dance competition means registration, check-in, stage order and judging all live in different spreadsheets and chats.
// results
- A measured performance pass cut median response time for static JavaScript from 338 ms to about 10 ms with a gzip byte-cache (100 requests, 25 concurrent, local test), shrank the SPA fallback from 6.9 KB to 2.3 KB with ETag and 304 support, and removed hero layout shift (CLS 0.09 to 0). Every change was verified twice and checked against a 14-flow regression harness, and changes that showed no gain were rolled back.
Tech stack
Source is private; happy to walk through it on a call.
← All Projects