About
I hold a Bachelor of Science in Computer Engineering. By formal title, though, I'm a Planning Officer I under the Municipal Planning and Development Office (MPDO) of the LGU of Tampilisan — not an IT designate, and our LGU has no dedicated MIS office. So I built and maintain most of the LGU systems below on my own initiative, not by assignment. The exception is Tampi Alert, the citizen emergency alert system, which I built as part of my assigned work for the POPS program.
I build small, focused, offline-first apps for Filipino users, and I design and deploy the production systems behind them. My work spans classroom tools for teachers (Grado PH, QRAfT), everyday calculators for employees (GovDeduct PH), and self-hosted systems for the LGU of Tampilisan — TAWAS (water billing), the Tampilisan Attendance System (employee attendance tracking), the MSWDO ID Management System (PWD/Senior Citizen ID issuance, in development), and the GSO Fixed Asset & Inventory Management System (government property tracking). The self-hosted systems run on self-managed Proxmox VE/OPNsense infrastructure — on hardware owned by the LGU — entirely outside my formal job description. I also built and continue to maintain the LGU's official public website separately, on WordPress using DICT's Government Web Template, hosted through DICT's free government web hosting program. Separately, Tampi Alert is a Firebase-based emergency alert system for the Municipal Police Station and Bureau of Fire Protection, now pilot-ready. I also make deliberate use of AI-assisted development tools to move faster on code, documentation, and deployment scripting, without cutting corners on quality or security. Open to freelance work.
Skills
What I use to build and run the apps and projects below.
Development
Infrastructure & Networking
Cloud & Mapping
Tools
Apps
Three independent apps so far — a DepEd-aligned grading tool for teachers, a QR-code attendance tracker for classrooms, and a payroll deductions estimator for any Filipino employee, government or private.
Grado PH
An offline class record and grade computation app for K-12 teachers, phone-friendly and built for classrooms without reliable internet access.
- Offline-first — all data stays on the device
- Written Work / Performance Task / Examination weighted grading
- Official DepEd transmutation table and letter grades (K-3)
- Male/Female grouped class records, matching DepEd's paper format
- PDF and CSV export of class records and final grades
- Cross-term Final Grade averaging
Grado PH Desktop
A full DepEd grading and reporting suite for Windows, now at v2.4.9 — the complete Class Record, report card, and attendance workflow a teacher needs, offline and free to start, with a Pro tier for bulk export. No installation required for the portable build.
- Class Records, Class Summary, and Final Grades — DO 015 s.2026 weighted computation, with K-3 letter grading (A-E) and full SHS track support
- Shared class roster with smart Excel paste — auto-detects Name/Sex/LRN columns from any DepEd export layout
- Complete DepEd form suite: SF9 report cards (Grades 4-12 and K-3/PACE), SF2 attendance register, and printable Class Records — each with school masthead and uploaded school logo
- One-file Backup & Restore for moving everything to a new computer
- Pro tier adds Excel export and one-pass Bulk Export across every class and form
QRAfT
QR Attendance for Teachers — keep a class roster, print QR ID cards for each student, scan them in every morning, and export a daily attendance sheet as a PDF. No server, no accounts; everything lives on the teacher's device.
- Print-and-cut QR ID cards generated per student, straight from the roster
- Full-screen scan-to-mark-present flow via Google's Code Scanner — no camera permission needed
- Multiple classes/sections, each with its own roster and daily attendance sheet
- Female-first, alphabetical grouping matching official attendance sheet format
- CSV/Excel bulk import for rosters, PDF export with school letterhead and signature line
- Offline-first — attendance data stays on-device, excluded from Android's automatic cloud backup
GovDeduct PH
An offline salary deductions calculator for Filipino employees — government and private sector alike. Estimates GSIS/SSS, PhilHealth, Pag-IBIG, and BIR withholding tax from a single monthly salary figure.
- GSIS & SSS contribution estimates, for employed and voluntary/self-employed contributors
- PhilHealth premium and Pag-IBIG contribution estimates
- BIR withholding tax estimate (TRAIN law brackets)
- All-in-one summary: total deductions and net pay
- Fully offline — nothing you enter is saved or transmitted
Projects
Beyond mobile/desktop apps, I design and run production systems end-to-end — from the application down to the network they sit on.
TAWAS Water Billing System
Designed, built, and deployed independently for the LGU of Tampilisan's water district — outside my formal job description, with no dedicated IT department to hand it off to. Full ownership end-to-end: consumer records, meter reading entry, and itemized bill computation (base charge, environmental fee, system loss), with role-based accounts for admins and encoders. Currently billing roughly 675 consumer accounts monthly, deployed and actively in use today.
- Flask + PostgreSQL, served by Waitress behind an nginx reverse proxy
- Runs in a dedicated LXC container on a Proxmox VE host, with a systemd service for auto-restart
- Sits behind an OPNsense firewall with VLAN-segmented network isolation
- CSV export for billing records; migration tooling from the earlier SQLite prototype
| Account No. | Name | Status |
|---|---|---|
| TMP-001 | Dela Cruz, Juan | Active |
| TMP-002 | Santos, Maria | Active |
| TMP-003 | Reyes, Pedro | Disconnected |
| TMP-004 | Garcia, Ana | Active |
Water Bill / Statement of Account
Recreated UI with placeholder data — no real consumer information is shown.
Tampilisan Attendance System
A general-purpose QR-code employee attendance tracker built for LGU Tampilisan — designed, built, and deployed independently, outside my formal job description. Capable of daily attendance tracking; currently used for the LGU's weekly Monday flag ceremony. Employees are scanned in via a browser-based scanner (with a companion Android scanner app), with a live dashboard, attendance reports, and a full audit log of every scan. Currently tracking 129 LGU employees, deployed and actively in use today.
- Flask + SQLAlchemy, running as a self-managed systemd service
- Browser-based QR scanning (jsQR) — no native app required on the scanning device
- Companion Android scanner app (Kotlin) for a dedicated kiosk-style scanning station
- Self-signed HTTPS and a locked-down host firewall (UFW) on top of the LXC container
- Runs in a dedicated LXC container on the same Proxmox VE host as TAWAS
- Full audit log of every scan (success, failed, invalid) for compliance
| ID | Name | Status |
|---|---|---|
| EMP001 | Dela Cruz, Juan | Present |
| EMP002 | Santos, Maria | Present |
| EMP003 | Reyes, Pedro | Absent |
| EMP004 | Garcia, Ana | Present |
Recreated UI with placeholder data — no real employee information is shown.
MSWDO ID Management System
A Django system for the Municipal Social Welfare & Development Office to register and issue PWD (Persons with Disability) and Senior Citizen IDs — designed and built independently, outside my formal job description. Auto-generates ID numbers, prints professional ID cards with photo and QR code, and lists the RA 10754 / RA 9994 privileges on the back. Currently in development and testing, not yet deployed with live constituent records.
- Django + PostgreSQL, served by Gunicorn behind nginx
- Auto-generated PWD/SC ID numbers, with photo and QR code on the printed card
- Role-based access — Admin, Encoder, Viewer — for MSWDO staff
- Dashboard with registration stats, disability-type and barangay breakdowns
- CSV export for both PWD and Senior Citizen records
- Runs in a dedicated LXC container on the same Proxmox VE host as TAWAS and the Attendance System
| ID No. | Name | Type |
|---|---|---|
| PWD-2026-00001 | Dela Cruz, Juan | Mobility |
| SC-2026-00001 | Santos, Maria | Senior |
| PWD-2026-00002 | Reyes, Pedro | Visual |
Recreated UI with placeholder data — no real PWD or Senior Citizen information is shown.
GSO Fixed Asset & Inventory Management System
A property and inventory tracking system for the LGU of Tampilisan's General Services Office (GSO) — designed, built, and deployed independently, outside my formal job description. Tracks every government asset's property number, acquisition cost, assigned department and accountable person, condition, and full history through to disposal. Currently managing 896 tracked assets worth roughly ₱172.8 million across departments, deployed and actively in use today.
- Django + PostgreSQL, served by Gunicorn behind nginx
- Full asset lifecycle tracking — acquisition, department/accountable-person assignment, condition, and disposal, with a complete per-asset history log
- Periodic physical inventory count module for reconciling records against what's actually on the ground
- Bulk Excel import/export (openpyxl, pandas) for large-scale data handling
- Runs in a dedicated LXC container on the same Proxmox VE host as TAWAS, the Attendance System, and MSWDO
| Item | Department | Value |
|---|---|---|
| Printer | MPDO | ₱12,500 |
| Office Table | DILG Office | ₱4,850 |
| Projector | DILG Office | ₱28,000 |
Dashboard totals are the system's real aggregate figures; the item list uses illustrative entries.
Municipality of Tampilisan — Official Website
The LGU of Tampilisan's official public website, which I built on WordPress using DICT's Government Web Template (GWT), submitted to DICT, and now maintain via the cPanel access DICT provides on their free government web hosting — outside my formal job description, since the LGU has no dedicated MIS office. Covers the transparency and public-disclosure pages every LGU site is expected to carry (Transparency Seal, Freedom of Information, GAD Corner), plus announcements, tourism content, and office contact details.
- Built on the DICT Government Web Template for WordPress, hosted free via DICT's government web hosting program (cPanel access)
- Transparency Seal, Freedom of Information, and GAD Corner pages kept current
- Regularly updated with announcements, events, and tourism content
- Accessibility features (WCAG-aligned) built into the template
Tampi Alert — Citizen Emergency Alert System
A citizen emergency-reporting system for the LGU of Tampilisan's Municipal Police Station (MPS) and Bureau of Fire Protection (BFP), built as part of my assigned work for the municipality's POPS (Peace and Order and Public Safety) program. A resident sends an alert from an Android app with their name, phone number, GPS location, and a geotagged photo, and it reaches a station dispatch dashboard right away, with a siren, live map, and dispatch workflow. Built and deployed end to end, and pilot-ready ahead of a field trial.
- Flutter Android app with an in-app camera only (no gallery uploads): each photo is compressed and watermarked with GPS, name, and time at the moment of capture
- Offline store-and-forward queue, so a report made in a low-signal area is sent automatically once a connection returns
- React + TypeScript dispatch dashboard: a new alert triggers a siren and a full-screen takeover, with live incident pins on a Google Maps view of the barangay boundaries
- Dispatcher workflow: call-back verification, status tracking, station distance with up to three alternative driving routes (MPS and BFP), and a false-alarm ban list
- Firebase backend (Firestore, Storage, Auth, Cloud Messaging, Hosting) with TypeScript Cloud Functions that validate each report, flag rapid repeat submissions, and tag it to its barangay from local GeoJSON boundaries, with no paid geocoding API
- Designed with the Data Privacy Act (RA 10173) in mind: consent screen, staff-only access, a full audit log, and automatic deletion of resolved incidents and their photos after 6 months; plus staff invitations, usage stats, and a monthly CSV report
Contact
Questions, feedback, or freelance inquiries are welcome at pepooh696@gmail.com or on LinkedIn.