Offline-First Multi-Role Education ERP (Mobile)
Solo-built two offline-first mobile apps for government education departments after inheriting a stalled Odoo-based ERP project.
Two Flutter mobile apps - covering teacher, principal, parent, and student roles across school and higher education departments - built to give union-territory education staff reliable offline access in low-connectivity coastal regions.
The Challenge
An existing Odoo-based ERP (covering user management, attendance, transfers, marksheets, and multi-tier department→district→school→principal→faculty→student roles) lost its technical leads mid-project, leaving a backlog with one remaining senior developer. The client's region had poor internet infrastructure and needed offline-first access for daily-use features like classroom attendance and leave applications - but Odoo's external API only exposed XMLRPC, which Flutter had no native support for at the time.
Key Decisions & Tradeoffs
- Learned PHP specifically to build a translation middle layer (using Ripcord) hosted on the CDAC server, bridging JSON requests from Flutter to Odoo's XMLRPC interface.
- Self-taught Flutter to build two separate offline-first mobile apps: one for the School Education department (teacher/principal/parent/student logins) and one for Higher Education (7 distinct roles).
- Operated as the sole mobile developer on the project - acting as own planner, tester, and deployer - since no other mobile-focused engineer was assigned.
Outcome
Delivered working offline-first mobile access for both departments across a union territory, unblocking a stalled project and giving field staff reliable access despite poor regional connectivity.