feat(dashboard): world-class showcase dashboard at /frontend#2
Merged
feat(dashboard): world-class showcase dashboard at /frontend#2
Conversation
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.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.appdeploy continues to serve the static landing page +/api/statsPython serverless function (which the eleventh.dev homepage telemetry widget polls). The dashboard lives atevalops-dashboard.vercel.appto avoid disturbing that contract.Routes
/Overview/api/statsTier-B counters, system status, audience + stack/telemetry/capabilitiessrc/{slug}/project.json/roadmap/settingsStack
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— cleannpm test— 36/36 passingnpm run build— 8 static routes prerendered, ~150KB First Load JShttps://evalops-dashboard.vercel.appreturns HTTP 200 across all routesAnti-goal compliance
/api/statsendpoint already deployed in this repo (mode: "showcase" per TELEMETRY_SCHEMA.md).showcasemode and reports GitHub-derived signals (commits, language, stars, LOC) instead of fakerunbooks_active_now/eval_runs_totaletc./api/statsfailures.