Atomic Data — Full‑stack analytics dashboard
From database to screen: the studio’s AR mirrors record every visit, and a modular Vue 3 dashboard lets clients track attendance at their activations.
Context
Each activation (AR mirrors, lenses) produced its own numbers; clients needed one clear interface, readable without a technical background and flexible enough for every project.
Key tasks
- Back end: Supabase / PostgreSQL database with 3 tables (projects, mirrors, visitors) linked by foreign keys, fed by the mirrors on every visit
- Cron jobs that automatically purge collected data
- Vue 3 and TypeScript front end: a modular grid of number (1×2), chart (4×2) and pie (2×2) widgets, added from an extensible catalog and rearranged by drag and drop
- Hand-made SVG charts, usable with the keyboard and readable by screen readers
- Aggregated count queries, with no personal data pulled into the browser, plus 50 Vitest unit tests
Outcome
A complete pipeline, from a visit in front of the mirror to a number on the client’s screen, with a dashboard everyone arranges their own way.
- Vue 3
- TypeScript
- Supabase
- PostgreSQL
- Tailwind CSS
- Vitest
