Overview
Paperwork turns the pile of paper every school sends home into something that actually gets tracked. A photo goes in; a strict, schema-validated AI pipeline reads it; a human reviews and confirms every extracted item before anything is added — nothing is ever auto-confirmed from AI output.
Open the live app → demomystuff.com/paperwork
What's actually built
- A 6-provider AI fallback chain — Gemini → Groq → Mistral → OpenRouter → NVIDIA → Requesty, one multimodal call per paper, strict zod-validated output (transcription + classification + extraction + evidence quotes). A failing/rate-limited provider cools down and the next one is tried automatically. An admin panel tracks cost, latency, and success rate per provider.
- Deterministic trust layer around the AI — printed-date resolution, per-field confidence scoring, child name matching, duplicate detection (hash before AI, transcription similarity after), and a conflict check — all plain code, not another model call.
- Analysis off the request path — a Postgres-backed job queue (
FOR UPDATE SKIP LOCKED) processes uploads asynchronously with retry and a stuck-job sweeper, running in-process via instrumentation.ts.
- Web Push notifications (VAPID) with quiet hours and smart timing, a secret ICS calendar feed, and real two-way Google Calendar sync.
- Household roles with server-enforced permissions, time-boxed admin support access requiring family approval, full data export, and a configurable retention policy.
Stack
Next.js 15 (App Router)
Auth.js v5
PostgreSQL + Prisma Migrate
zod
Web Push (VAPID)
AWS S3 (optional)
Vitest + Playwright
Shipped to production, not just a demo build
Dockerized with its own PostgreSQL container, migrations applied automatically on deploy (prisma migrate deploy), served under a subpath via Caddy alongside Timeline on the same AWS Lightsail instance — see the infrastructure write-up for the GitHub Actions pipeline and the real production issues that came up getting it there.
← Back to Live Demos