CVBuilder: offline infrastructure for a Ugandan community school
Watoto, Intl. · Kampala, Uganda · Built February – June 2026
The community school this was built for doesn't have reliable power, and it doesn't have stable internet. Most software assumes both. CVBuilder is a resume-building application designed around the opposite assumption: that connectivity might never come, and the system still has to work.
Instead of relying on a remote server, the entire application runs on a LattePanda Iota, a single-board edge computer small and power-efficient enough to operate in a low-resource environment. A GL.iNet Opal router turns that device into its own private network, broadcasting a WPA3-secured hotspot that students connect to directly. There's no route to the outside internet because there doesn't need to be one. The app, the database, and the network it runs on are all self-contained on the same device.
The stack is a Django REST API backed by PostgreSQL, served through Gunicorn, with a React frontend and an Nginx reverse proxy handling HTTPS and captive-portal routing, so a student connecting to the hotspot is dropped straight into the app rather than having to find it themselves. Every architectural decision traces back to the same constraint: this has to keep working through power outages, with no IT support on hand, for students who have never had a reason to trust that a piece of technology would work for them.
The system is built and technically complete. Deployment is on hold until the team can travel to Uganda. More detail on the internship this came out of is on the Experience page.
