Skip to content
All case files
Case study — 05GovTech · 2024

Digital Fine Management System

From paper citations to a traceable digital lifecycle

Role
Full Stack Engineer
Timeline
2024
Stack
ReactFastAPIPythonPostgreSQLn8nLinux
Digital Fine Management System cover artwork

Paper fines get lost, disputed and quietly forgotten. Digitising them is less about forms and more about trust: every fine needs a lifecycle that both the issuer and the recipient can verify.

Problem

Fines were issued on carbon-copy paper, keyed into a register later — or not — and reconciled against payments by hand. The failure modes wrote themselves: unreadable citations, payments that couldn't be matched to fines, no reliable way to know what was outstanding, and zero audit trail when a fine was contested.

Solution

A digital lifecycle for every fine: issued with structured details, notified to the recipient, tracked through payment or appeal, and closed with a complete history. Officers issue through a simple guided form; administrators see live registries of outstanding, paid and disputed fines; recipients can look up a fine by reference and see exactly where it stands. Automated notifications and escalation reminders run on a schedule, so follow-up stops depending on anyone's diligence.

Architecture

Architecture — issuance to closure

Interfaces

  • Officer issuance app
  • Admin registry
  • Public lookup

API

  • FastAPI service
  • Validation & reference IDs
  • Role-based access

Lifecycle

  • Fine state machine
  • Payment reconciliation
  • Appeals workflow
  • Audit log

Automation & Infra

  • n8n notifications
  • Scheduled escalations
  • PostgreSQL
  • Linux VPS

Each fine is a state machine — issued, notified, paid, appealed, waived, closed — and transitions are the only way state changes. The audit log is just the list of transitions, which makes disputes a matter of reading, not reconstructing.

Challenges

Making records tamper-evident

In a system about penalties, "who changed what" is the product. Append-only transition logs with actor, timestamp and reason — and no update path that bypasses them — meant every record can defend itself.

Payments that arrive without context

Payments came through channels that didn't carry clean references. Structured reference IDs printed on every notification, plus a manual reconciliation queue for the stragglers, brought matching from guesswork to routine.

Users who are not software users

Officers work outdoors, quickly, sometimes offline. The issuance flow became a short guided form with aggressive validation and sensible defaults — because a fine that's wrong at creation poisons every step after it.

Technologies

  • Backend — FastAPI (Python) with typed schemas; PostgreSQL as the authoritative store.
  • Frontend — React interfaces tuned per audience: fast entry for officers, dense registries for admins, dead-simple lookup for the public.
  • Automation — n8n workflows for notifications, reminders and escalation schedules.
  • Infrastructure — deployed and operated on Linux with scripted backups and log rotation.

Screens

Digital Fine Management System — screen 1
Screen 01
Digital Fine Management System — screen 2
Screen 02

Lessons Learned

  • In civic systems, the audit trail is the feature; everything else is interface.
  • State machines turn policy documents into code you can point at.
  • Design for the least patient user in the worst conditions — everyone else is then delighted.

EOF — SANTHILA DEVIN

© 2026 Santhila Devin. All rights reserved.