Case Study
Sitrep Builder
Situation report generator with privacy scanning built in
- Platform
- Web Applications
- Year
- 2026
01 / 04 โ Source dashboard
Select thumbnail ยท click image to enlarge
Screenshots come from the real applications. Sensitive names, identifiers, and credentials are redacted.
01What it does
Turns raw operational data into a reviewed situation report: it drafts each section from live sources, shows exactly what changed since the last report, flags missing required items, scans narratives for private information, and exports a server-rendered PDF.
02What I built
- Next.js app with Supabase SSR auth, editor, review, archive, dashboard, setup, and admin views
- Integrations for CrewSense, CAD dispatch CSVs, weather, traffic, and ops-events spreadsheets
- Serverless PDF generation with puppeteer-core and a slim Chromium build
- A privacy scan that flags personal information in narratives before a report leaves the building
- Diff view, freshness badges, integration health cards, and a completeness checklist
03Key engineering work
- An earlier Vite prototype with mock data was rebuilt as a full Next.js app once the data model stabilized
- A phrase library for consistent, reviewable operational language
- Section-level source attribution so every claim in a report traces back to a system of record
04Challenge / Solution
Challenge
Situation reports mix public operational data with details that can identify individuals, and are often exported as PDFs that leave controlled systems.
Solution
Privacy scanning runs inline in the editor, warning about personal information in narratives before export, while the PDF renders server-side from the reviewed report only.