Skip to content

feat(dashboard): world-class showcase dashboard at /frontend#2

Merged
IgnazioDS merged 2 commits intomainfrom
feat/dashboard-worldclass
Apr 27, 2026
Merged

feat(dashboard): world-class showcase dashboard at /frontend#2
IgnazioDS merged 2 commits intomainfrom
feat/dashboard-worldclass

Conversation

@IgnazioDS
Copy link
Copy Markdown
Owner

Summary

Adds a Next.js 14 dashboard for the EvalOps Workbench showcase deploy, calibrated to the same Vercel-grade design system as the NexusRAG dashboard.

Live at: https://evalops-dashboard.vercel.app

Why a separate Vercel project

The existing evalops-workbench.vercel.app deploy continues to serve the static landing page + /api/stats Python serverless function (which the eleventh.dev homepage telemetry widget polls). The dashboard lives at evalops-dashboard.vercel.app to avoid disturbing that contract.

Routes

path what it shows
/ Overview Pitch banner, live /api/stats Tier-B counters, system status, audience + stack
/telemetry Polling Tier-B telemetry consumer · 30s visibility-aware · full metric grid · raw JSON inspector · contract docs
/capabilities MVP scope, problem, why-now, audience, stack — sourced from src/{slug}/project.json
/roadmap Three-phase timeline (showcase → MVP build → Tier-A graduation)
/settings Theme + project metadata

Stack

Next.js 14 App Router · TypeScript strict · Tailwind 3 · Geist Sans + Mono · Radix UI primitives · cmdk (⌘K) · sonner · next-themes · recharts · framer-motion · vitest + Testing Library.

Verification

  • npm run type-check — clean
  • npm test — 36/36 passing
  • npm run build — 8 static routes prerendered, ~150KB First Load JS
  • ✅ Live deploy at https://evalops-dashboard.vercel.app returns HTTP 200 across all routes

Anti-goal compliance

  • Real data only. Tier-B counters come from the public /api/stats endpoint already deployed in this repo (mode: "showcase" per TELEMETRY_SCHEMA.md).
  • No fabricated workload metrics — the dashboard explicitly reports the system in showcase mode and reports GitHub-derived signals (commits, language, stars, LOC) instead of fake runbooks_active_now / eval_runs_total etc.
  • No HTTP 5xx from any dashboard route — graceful degraded state on /api/stats failures.

Adds a Next.js 14 dashboard for the EvalOps Workbench showcase deploy, calibrated
to the same Vercel-grade design system as the NexusRAG dashboard.

Showcase tier — no auth, no BFF behind it. Only the public /api/stats
endpoint (already deployed in this repo) is real. The dashboard surfaces
honest signals:

- /              Overview: pitch banner, live /api/stats Tier-B counters,
                 system status, audience + stack
- /telemetry     Polling Tier-B telemetry consumer with 30s
                 visibility-aware polling, full metric grid, raw JSON
                 inspector, contract documentation
- /capabilities  MVP scope, problem statement, why-now, audience, stack
                 — sourced from src/{slug}/project.json
- /roadmap       Three-phase timeline (showcase → MVP build → Tier-A
                 graduation)
- /settings      Theme + project metadata
- /not-found, /error, /loading: polished states

Stack: Next.js 14 App Router · TypeScript strict · Tailwind 3 · Geist
Sans + Mono · Radix UI primitives · cmdk (⌘K) · sonner · next-themes ·
recharts · framer-motion · vitest + Testing Library.

Tests: 36/36 passing across 6 files (utils, hooks, button, sparkline,
badge, stat-card). Type-check clean. Production build successful at
8 static routes, ~150KB First Load JS.

Deploys as a separate Vercel project at evalops-dashboard.vercel.app pointing
at /frontend rootDir. The existing evalops-workbench.vercel.app project continues
to serve the static landing page + /api/stats Python serverless
function, so the homepage telemetry widget on https://eleventh.dev keeps
polling the same canonical endpoint.
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 27, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
evalops-workbench Error Error Apr 27, 2026 8:35pm

…board at root

Promotes the Next.js dashboard from /frontend to the repo root and
deletes the old static landing page. The Vercel project at
evalops-workbench.vercel.app now serves the world-class dashboard directly — no
separate `-dashboard` URL needed.

Changes:
- Delete index.html and styles.css (the static landing page)
- Move /frontend/* up to repo root (package.json, next.config.mjs,
  tailwind.config.ts, postcss.config.js, tsconfig.json, vitest.config.ts,
  vercel.json, public/, src/app|components|lib|test/). The existing
  Python package at src/evalops_workbench/ stays put as a sibling.
- pyproject.toml: scope setuptools `packages.find` to
  `include = ["evalops_workbench*"]` so the Next.js dirs aren't accidentally
  treated as Python packages.
- next.config.mjs: drop the /api/stats rewrite. The Python serverless
  function at api/stats.py now lives in the same Vercel project as
  the Next.js app, so Vercel's hybrid routing handles /api/stats
  natively. The previous rewrite would have created a self-proxy loop.
- vercel.json: keep only the CORS + Cache-Control headers for /api/stats.
- .gitignore: merge Next.js + Python entries.

Verification: type-check clean, 36/36 tests, build successful at
8 static routes, ~150KB First Load JS.
@IgnazioDS IgnazioDS merged commit 6c36ece into main Apr 27, 2026
2 of 3 checks passed
@IgnazioDS IgnazioDS deleted the feat/dashboard-worldclass branch April 27, 2026 20:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant