An educational public-data research workspace. V1 accepts a question and one or more public sources, runs a FastAPI/Python workflow, and returns provenance, deterministic analysis, confidence, charts, findings, limitations, and JSON/CSV exports.
The Vercel frontend can run Live Mode through a deployed FastAPI backend. If the backend is not configured or unavailable, the app falls back to clearly labeled Demo Mode.
- Public CSV, REST API JSON, RSS, and GitHub raw connectors
- Fetch safety: timeout, size limit, row cap, content-type validation, private network blocking
- Conservative cleaning with logged transformations
- Deterministic numeric, missing-value, category, date-trend, and correlation analysis
- IQR outlier detection and source comparison
- Metadata: source count, row count, missing values, methods, timestamp, confidence
- Ollama local summarization with template fallback
- Optional 9Router fallback adapter
- Temporary V1 run storage in backend memory
- Export JSON and CSV
- Architecture page explaining the current workflow and V2 path
Install frontend dependencies:
pnpm installInstall backend dependencies:
python -m pip install -r apps/api/requirements.txtRun the backend locally:
pnpm api:devRun the frontend:
pnpm devOpen http://localhost:3000.
Copy .env.example to .env.local for frontend local mode:
FASTAPI_BASE_URL=http://127.0.0.1:8000Optional local model routing:
OLLAMA_BASE_URL=http://127.0.0.1:11434
OLLAMA_MODEL=llama3.2
NINE_ROUTER_BASE_URL=http://127.0.0.1:20128/v1
NINE_ROUTER_MODEL=autopnpm lint
pnpm typecheck
pnpm test
pnpm build
python -m pytest apps/api/tests -qDeploy apps/api as a separate Vercel FastAPI project, then deploy apps/web with:
FASTAPI_BASE_URL=https://data-research-workbench-api.vercel.appThe frontend route /api/research proxies to FastAPI and labels returned runs as Live Mode.
- Single-user local mode only.
- Run history is temporary and may disappear when FastAPI restarts.
- Frontend falls back to deterministic Demo Mode when no backend is configured.
- No database, queue, auth, broad scraping, or required OpenClaw integration in V1.
The frontend can deploy to Vercel as a Next.js app from apps/web. The production demo remains deterministic unless FASTAPI_BASE_URL points to a deployed backend approved later.