Fixit: field defect tracker
Zero-dependency Python task board with photo attachments, history, messaging and PDF reports for field crews
A lightweight web app (Python standard-library HTTP server + SQLite + vanilla JS) used by installation crews to log and fix defects on outdoor lighting control cabinets and sites: tasks...
A lightweight web app (Python standard-library HTTP server + SQLite + vanilla JS) used by installation crews to log and fix defects on outdoor lighting control cabinets and sites: tasks with photo slots, per-user attribution, move/update history, direct messages and event stream, admin panel behind a hold-to-unlock code, hourly DB backups and landscape A4 PDF exports via ReportLab.
Three deployed variants exist (2025 SHNO, 2025 AXP1-4, 2026 generic) with Docker and systemd/nginx deployment.
What it does
- Task list with add/edit/move/delete and soft-deleted recovery
- Photo slots per task with server-side resize/compression
- Full change history with grouped view and admin purge
- User registration by name, admin user hide/restore/purge, archive export
- Direct messages and long-poll event feed
- PDF report export (A4 landscape tables with images, Cyrillic fonts)
- Rate-limited amendments, hourly SQLite backups, healthcheck
Deliberately dependency-free backend (stdlib HTTP server) that still delivers auth, backups, PDF export and messaging in ~2.7k lines; shows pragmatic tooling built quickly for real crews.
Want something like this?
I build it live on a Zoom call, you watch the screen, the timer stops when you say stop. First 15 minutes are free.