Skip to main content
LumenAnalytics
Companion to NOVA Agency · part 2 of 2

The calm control room for your SaaS metrics.

Lumen Analytics unifies subscription, billing and product data into a single dashboard — MRR, churn, NRR, activation and customer lifecycle, in real time. Built as the second half of a two-part portfolio piece with the NOVA Agency landing page.

Demo credentials are pre-filled on the login screen — no signup needed.

Live · streaming demo data

MRR tracked

$758k

Active customers

1,862

Net revenue retention

103.4%

Daily events

12k

What's inside

Nine surfaces, one seeded dataset, zero infrastructure.

Every chart, table, sheet and dropdown is wired to a single seeded PRNG so the demo is deterministic and renders identically on Railway, Vercel or your laptop.

Revenue intelligence

MRR, ARR, expansion vs contraction, plan distribution and country splits — wired to a seeded dataset so it runs without a database.

Customer 360

Sortable, URL-synced customers table with health scores, per-customer MRR sparklines, invoices and activity feed.

Cohorts & funnels

Monthly retention M0 → M9, signup-to-paid funnel and acquisition channels — answer 'is this cohort sticking?' on one screen.

Lumen AI · Groq

Streaming chat grounded in live KPIs, the funnel, cohorts, top customers and recent events. llama-3.3-70b-versatile, free tier.

⌘K command palette

Layout-independent, works with Russian keyboards, jumps to recent customers / countries / plans, switches theme, signs out.

Keyboard shortcuts

g d / g r / g g / g i / g a / g c for navigation, t toggles theme, ? opens the cheat-sheet, ⌘J opens Ask Lumen AI.

Notifications

Topbar bell with an unread badge, seeded alerts and a calm pulsing dot on the live activity feed.

Four locales

English, Русский, Українська, Español — full UI, KPI tooltips, table headers, AI prompts. Persisted via NEXT_LOCALE cookie.

Auth & sessions

NextAuth credentials provider with a seeded demo workspace, JWT sessions and route-level middleware.

Stack

Hand-crafted, no boilerplate.

Strict TypeScript, ESLint clean, all animations honour prefers-reduced-motion, WCAG AA contrast on both themes, every interactive element keyboard-reachable.

Next.js 14 · App RouterTypeScript · strictTailwind CSS · HSL tokensRecharts · custom tooltipsRadix UI · shadcn/uinext-themes · View TransitionsNextAuth · credentialsGroq · llama-3.3-70b

FAQ

Answers before you ask.

The seven questions every recruiter, engineer and product person tends to ask when looking at the demo.

No. Every metric, customer, invoice and event is generated by a seeded PRNG so the demo is fully deterministic. The same workspace renders identically on Railway, Vercel and a fresh laptop. Swapping in Postgres / Stripe later is a matter of replacing one repository layer.
With GROQ_API_KEY set, the /api/ai route streams responses from llama-3.3-70b-versatile on the Groq free tier, grounded in the same KPIs / cohorts / customers the UI reads from. With the key empty, a local fallback in src/lib/ai-offline.ts streams a deterministic data-grounded answer — so the demo never breaks.
Server components do the heavy lifting (KPI math, table joins, chart series), client components are a thin interactive shell (cursor-spotlight, KPI tilt, magnetic CTAs, AI chat). All animations honour prefers-reduced-motion, none of them block paint, and there is no bundled chart-library magic on the critical path.
Both are first-class. The theme toggle uses View Transitions for a radial reveal where supported, and every chart, badge, table and gradient was tuned for WCAG AA contrast on each theme.
Press "?" for the cheat-sheet. "⌘K" opens the layout-independent command palette (works on Russian / non-Latin keyboards). "⌘J" opens Lumen AI. "g" plus a destination key ("d" dashboard, "r" revenue, "g" growth, "i" insights, "a" activity, "c" customers) jumps you there. "t" toggles the theme.
Four full locales out of the box — English, Русский, Українська, Español. Every UI string, KPI tooltip, table header, plan label and AI-prompt template is translated, and the choice is persisted in a NEXT_LOCALE cookie.
Lumen Analytics is the second half of a two-part portfolio piece with the NOVA Agency landing page — a fictional product studio whose flagship product is "Lumen Analytics, a calm control room for SaaS metrics." The two share the same gradient palette, type scale and motion system.

Voices

What teams using Lumen are saying.

(Yes, these are written for the portfolio. The dashboard isn't — it actually runs.)

Finally a metrics dashboard that doesn't feel like a 2014 Bootstrap admin theme. The AI summary is the killer feature — saves us 30 minutes every Monday.

Marina Vasquez

Head of Growth · Northwind SaaS

Quote from Marina Vasquez, Head of Growth at Northwind SaaS.

Story

Two projects, one continuous narrative.

The NOVA Agency pitches a fictional product studio whose flagship product is Lumen Analytics — a calm control room for SaaS metrics. This repository is that control room. The two together form a single portfolio piece: the marketing site sets up the story, this dashboard finishes it.

  • No CMS, no boilerplate template, no design system bought off the shelf.
  • No real database — every metric is generated by a seeded PRNG.
  • Four locales, two themes, fully keyboard-navigable.
  • AI chat is grounded in the same dataset the dashboard reads from.