Deterministic workflow diagnostics for trust, reuse, operating state, and controlled AI suitability.
- Public URL: data-quality-explorer-studio.vercel.app
- Hosting: Vercel, project
data-quality-explorer-studio - Repository: AI-Enablement-Academy/data-quality-studio
This repository ships two public surfaces from one codebase:
Data Quality Diagnostic- the fuller six-dimension diagnostic
- built to show where a workflow breaks before anyone labels maturity
- produces blocker ranking, operating state, capability gaps, AI suitability, and action plan
Readiness Check- the shorter sponsor-facing readout
- uses the same deterministic engine
- compresses the output into operating state, capability gaps, and next moves
Most data tooling either collapses into a vague self-assessment or jumps straight to AI advice without proving the data foundation first. This project takes the opposite stance:
- diagnose workflow conditions before making reuse claims
- keep the scoring deterministic and inspectable
- let AI interpret a finished report, never decide the score
- produce outputs that can survive real sponsor and operating conversations
This alpha is intentionally grounded in primary literature and implemented as an original product model.
The method draws on:
- Wang & Strong (1996)
- Pipino, Lee & Wang (2002)
- Wang (1998)
- Lawrence (2017)
The following are original to this implementation:
- the six diagnostic dimensions
- the operating-state model
- the AI suitability gate
- the question bank
- the deterministic scoring engine
- the action-plan composition
The academic references inform the conceptual background. The dimensions, prompts, operating states, and scoring logic here are product decisions made in this codebase.
- Wang, Richard Y. (1998). A Product Perspective on Total Data Quality Management. Communications of the ACM, 41(2), 58-65.
- Wang, Richard Y., and Diane M. Strong (1996). Beyond Accuracy: What Data Quality Means to Data Consumers. Journal of Management Information Systems, 12(4).
- Pipino, Leo L., Yang W. Lee, and Richard Y. Wang (2002). Data Quality Assessment. Communications of the ACM, 45(4), 211-218.
- Lawrence, Neil D. (2017). Data Readiness Levels. arXiv:1705.02245.
- Deterministic first. The scoring engine is pure TypeScript.
- Explainable by design. Every serious result should be challengeable.
- Private by default. Local browser storage is the alpha default.
- Optional AI assist only. The chat layer interprets reports and can fall back to deterministic mode.
- Useful artifacts over dashboard filler. Reports, blockers, action plans, PDF exports, JSON exports.
- Two public surfaces from one shared Next.js app
- Six-dimension diagnostic profile
- Deterministic questionnaire and scoring engine
- Operating-state assignment with threshold notes and capability gaps
- AI suitability gate for controlled reuse decisions
- Optional CSV and note evidence inputs on DQ
- PDF export plus JSON export
- Portable snapshot-style share links
- Local report history with expiry and delete controls
- Optional Groq-backed report assistant with deterministic fallback
- Convex-backed shared throttling for
/api/chatand/api/report-pdf - Public method page with alpha boundaries, privacy notes, and source statement
//dq/dq/start/dq/results/drl/drl/start/drl/results/method/dmmredirects to/dq
- src/app
- route entry points and API handlers
- src/components/diagnostics
- UI shell, flows, results, charts, PDF document
- src/lib/diagnostics
- engine, catalog, evidence parsing, storage helpers, chat guard
- convex
- Convex schema and rate-limit mutation
- task.md
- current state and active follow-up areas
- walkthrough.md
- runbook and validation notes
- Read task.md.
- Read walkthrough.md.
- Keep the deterministic scoring boundary intact.
- Do not let AI features alter final scores, operating state, or AI suitability.
- Keep local
.env*secrets out of git. - Update docs when behavior changes.
Critical files:
- src/lib/diagnostics/engine.ts
- dimension scoring, operating-state assignment, result composition
- src/lib/diagnostics/questions.ts
- typed question bank
- src/lib/diagnostics/chat-guard.ts
- request validation and shared abuse controls
- convex/rateLimits.ts
- durable shared throttle path
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS 4
- GSAP
- Lenis
- Chart.js
- Convex
- Groq
pnpm install
pnpm devOpen http://127.0.0.1:3000.
pnpm test
pnpm lint
pnpm buildUse .env.local for local development. Never commit real secrets.
GROQ_API_KEY=replace_me
GROQ_MODEL=qwen/qwen3-32b
CONVEX_URL=https://your-project-name.convex.cloud
CONVEX_HTTP_URL=https://your-project-name.convex.site
CONVEX_DEPLOY_KEY=prod:replace_meNotes:
CONVEX_URLis used by the Next.js server routes for durable shared throttling.CONVEX_HTTP_URLis reserved for future HTTP-action-oriented backend work and persistence features.CONVEX_DEPLOY_KEYis optional locally, but used for builds that should deploy Convex alongside the app.
This project is hosted on Vercel.
Why:
- the app has server routes for Groq and PDF export
- provider secrets must stay server-side
- Vercel handles the Next.js runtime cleanly
- custom domain and preview flow are straightforward
Current live endpoints:
- DQ and readiness scoring remain deterministic
- the AI chat can only interpret a finished report
- deterministic mode stays available even if Groq is unavailable or rate-limited
- report history is browser-local in this alpha
- raw CSV uploads and pasted notes are not retained in draft autosave
- share links are portable snapshot links, not signed server-issued records yet
See the live /method page for the product-facing method statement and alpha limitations.
Recent checks:
pnpm testpnpm lintpnpm build- route crawl across
/,/dq,/dq/start,/dq/results,/drl,/drl/start,/drl/results,/method - browser audit on a fresh
next startserver
The code in this repository is MIT-licensed.
The codebase is public on purpose. The scoring logic is inspectable. The method is challengeable. The product surface is still alpha and should be treated as decision support, not legal, regulatory, or compliance advice.
Data Quality Studio created by Adam Kovacs x AI Enablement Academy.


