OMSP Document Tracking
A role-based system that replaced a provincial government office’s manual assistance paperwork with a fast, auditable web app.
Overview
Built for the Office of the Majority & Secretary of the Sangguniang Panlalawigan of Bataan, this system manages the financial and personal assistance extended to constituents across 14+ Board Members. It replaced manual paperwork with duplicate detection, real-time budget tracking with rollover, e-signature transaction slips, and a full audit trail — all in the browser, no installation.
The Problem
The office processes hundreds of assistance requests every month across 14 Board Members, each running their own staff and ₱70,000/month budget — all tracked on paper, spreadsheets, and printed slips. There was no fast way to catch duplicate or cross-office aid, budgets were calculated by hand, official slips and reports were retyped from scratch, and there was no audit trail of who encoded what.
The Solution
A centralized, role-controlled web app where each user sees exactly what they should. Staff encode FA/PA records only for their assigned Board Members, budgets are tracked per office with rollover, duplicate and cross-office beneficiaries are flagged automatically, cooling-off periods are enforced, and official transaction slips and reports export in one click — all in the browser, synced through Firebase, with no backend to maintain.
Key Features
- Role-based access for SysAdmin, Staff, Board Members, and Performance Managers
- Real-time budget tracking with automatic monthly rollover (₱70k/BM)
- Duplicate detection and configurable cooling periods per beneficiary
- Generate and bulk-export official transaction slips with staff e-signatures
- Full activity logs — every action is auditable
Tech Stack & Why
- Firebase Realtime Database — Instant sync across staff sessions and zero server maintenance for a small government IT footprint.
- Vanilla JS (no framework) — Keeps the app lightweight and easy for the office to maintain long-term without a build pipeline.
- Role-Based Auth — The whole product is about who-can-see-what; access control had to be first-class, not an afterthought.
- Vercel — Free, fast static hosting with simple deploys for a browser-only app.
Biggest Challenge
Concurrent edits without losing work. The original sync used a single global timestamp, so any user's save made everyone else's next save look stale — forcing a blocking refresh that discarded unsaved form work. The fix was a silent merge-and-retry: re-pull fresh cloud data, re-apply the user's pending changes per-key (last-write-wins per key, not for the whole dataset), and retry once. A tab-session snapshot cache then cut full re-downloads (~1.3–2 GB/month) down to a lightweight timestamp check.
Results & Impact
- In daily production use across 14 Board Member offices and ~10 active staff
- Report and slip generation went from a retyping chore to one-click export
- Surfaced cross-office duplicate assistance that was previously invisible
- Kept hosting and database on a near-free footprint after the caching fix
What I Learned
Leading a real government deployment taught me that clarity of roles and a trustworthy audit trail matter more than fancy features — people need to trust the numbers. Scoping the budget-rollover logic carefully up front saved us from painful edge cases later.
More Projects