dobrovolskiy.com
RU
← all workweb · 2026

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.

$50 / hourBook an hour

More projects

FOURLEDS lighting catalogueSingle source of truth for FOURLEDS products: public catalogue, print-ready PDF generator, product API for the rest of the software family, AI-assisted contentHousing-company sites (multi-tenant)Two Tyumen housing-management company sites rebuilt from DotNetNuke 8 into one multi-tenant Next.js codebase with full content migrationCampaign site with sealed commitmentsThemeable, self-hosted candidate website whose public promises are SHA-256 sealed.