A static, single-page Next.js dashboard surfacing a Q1 2026 customer support analysis built on synthetic ticket data.
Deployed on Vercel: see repository description for the live URL.
Across 16,000 tickets and four channels, chat carries 43% of volume but generates 50% of cost, 60% of negative CSAT, and 100% of reopens. The dashboard walks through that finding from headline to recommendation:
- Top-line KPIs (16,000 tickets, 66.4% CSAT, 12.7 min AHT, 16.9% reopen rate)
- Channel scorecard, four panels plus detail table
- Monthly trend showing flat KPIs (the issue is structural, not a Q1 decline)
- AHT vs CSAT combo chart (long tickets are bad tickets)
- Issue-type quadrant splitting complexity vs wait-state failure modes
- Channel x issue heatmap (CSAT diverging color scale)
- Five operational recommendations
- Data quality footer
- Next.js 16 (App Router, Turbopack)
- React 19
- Tailwind CSS 4
- Recharts 3
- TypeScript
Static site, no API routes, no runtime data fetching. Pre-aggregated data lives at app/lib/dashboard.json and is bundled at build time.
npm install
npm run devOpen http://localhost:3000.
npm run build
npm startPush to GitHub and import the repo at vercel.com, or run npx vercel from the project root. Default Next.js settings work without modification.
The dataset is synthetic and does not represent any real company's operations. Channel volumes, CSAT scores, handle times, and reopen rates were generated to match a plausible support-operations distribution.