StealThis .dev
Pages Difficile

Gym — Revenue & Retention Dashboard

An admin analytics dashboard for a performance gym, pairing KPI cards for MRR, ARPU, churn and lifetime value with trend deltas and inline sparklines, a hand-drawn SVG revenue-over-time area chart with hover tooltips, a membership-mix donut, a cohort-retention heat grid showing months against joining cohorts by color intensity, and a top-classes-by-revenue bar list. A 30d / 90d / 12m range toggle re-renders the metrics and charts. Every chart is drawn in vanilla JS with no libraries.

Ouvrir dans Lab
html css vanilla-js
Targets: JS HTML

Code

Revenue & Retention Dashboard

A dark, high-energy admin view for Iron Republic, a fictional performance gym. The top strip shows four KPI cards — monthly recurring revenue, average revenue per member, monthly churn and lifetime value — each with a colored trend delta (green for good, red for bad, with churn treated as lower-is-better) and a small inline sparkline. Below them, a wide hand-drawn SVG chart plots total and recurring revenue over time, with axis gridlines, a crosshair and a hover tooltip that reads off the nearest data point.

The right rail holds a membership-mix donut built from SVG arc paths: hovering a slice dims the others and swaps the center label to that plan’s share, while a synced legend lists each plan’s count and percentage. A full-width cohort-retention heat grid maps joining cohorts against months since signup, with cell color intensity scaling to the retained percentage and per-cell tooltips. A top-classes-by-revenue list animates gradient bars proportional to attributed member spend.

The 30d / 90d / 12m range toggle re-renders the KPIs, sparklines and revenue chart with range-specific figures, and an Export action fires a toast. Everything is plain vanilla JS — all charts are drawn by hand in SVG with no external libraries.

Illustrative UI only — figures and members are fictional, not a real product.