PNP E-P.A.T.R.O.L.
Enhanced Police Activity Tracking and Recording Operational Log — a production patrol logging system supporting the daily operations of 200+ police officers across PNP Bacoor City and PNP Santa Rosa City, enabling centralized patrol tracking and operational reporting.
The problem
PNP units recorded patrol and beat activities on paper and ad-hoc message threads, making it impossible to audit patrol history, verify officer location, or generate operational reports for supervisors in real time.
Role & responsibilities
Primary full-stack developer. Coordinated with PNP Bacoor stakeholders through 15+ client meetings, translated field requirements into features, and owned frontend, backend, database, authentication, deployment, and maintenance.
Architecture
Modular Node.js/Express + TypeScript REST API backed by MongoDB (Mongoose, 37 schema migrations, soft-delete records, audit logging on every write); React + Vite + Tailwind CSS frontend; JWT + bcrypt authentication and Server-Sent Events for live updates. Packaged as a single all-in-one Docker image and deployed on Railway during the internship deployment.
Key features
- Real-time activity logging with timestamps, geolocation, and photo evidence
- Role-based access control and secure patrol officer authentication
- Automated operational reports and exportable activity summaries
- Mobile-responsive patrol views used in the field
- Production deployments on Railway with managed databases and storage buckets
- Field-deployed to Bacoor patrollers in April 2026 with post-deployment improvements driven by real operational feedback
- Geospatial anomaly detection flagging duplicate logs submitted within 15 meters / 15 minutes
- Excel export and print-ready PDF operational reports for supervisors, plus narrative assessment reports with per-shift target-variance analysis
- Tamper-evident audit trail — every write is hash-chained and verifiable via a one-click integrity check; secrets and personal data are redacted from logged payloads
- Badge-based buddy-pair team login for patrollers and role-based onboarding walkthroughs for admins
- Dynamic intervention form fields, shift management, and audit trails for accountability
Outcomes
200+
police officers supported daily
15+
client meetings for requirement refinement
2
PNP city commands covered
Stack
Node.jsExpressTypeScriptMongoDBReactTailwind CSSDockerRailway