The Project
Use airborne data channels - satellite, LTE, etc. - to provide local wifi access to underserved communities. Make internet access available via a captive portal in hyper-local access points using pre-paid codes sold by local vendors and partners.
My Role
Sr. Software Engineer and Frontend Architect responsible for evaluation of the extant technology stack, and for the design and implementation of the captive portal.
Interesting Challenges
Architecture
The primary architectural challenge was providing a partner-branded experience at each hyper-local captive portal while maintaining a single codebase. Anticipating dozens of regional partners and thousands of vendor host sites, the solution needed to be scalable and maintainable.
The "partnerization" assets - logos, pricing models, app feature flags, legal notices, etc. - were stored in a headless CMS. The captive portal code had site identifiers injected during provisioning. The web app used the identifiers to retrieve the CMS assets. This solution allowed unlimited onboarding of new partner and vendor host sites over time with no code changes or deployment.
Technical
A persistent technical challenge was the high latency of the satellite or LTE links. The captive portal and web app needed to be fast and responsive when accessed using budget or low compute-power devices. It also needed to be branded for the partner site. The solution used NEXT.js to provide server-side rendering (SSR) of the initial page load, and then client-side rendering for subsequent page loads. While fine in theory, the initial SSR was not considered static by NEXT.js and could not be cached, either at the server or the captive portal host.
Another technical challenge was providing a seamless, no-login experience for returning devices on subsequent visits to the vendor. The solution used mac address cookies to identify returning devices with remaining usage credits and automatically log them in to the captive portal.
Results
In spite of the implementation difficulties noted above, dozens of sites were successfully onboarded in the first 12 months of operation across Mexico, Guatemala, Brazil, and Nigeria.
The Project
Use airborne data channels - satellite, LTE, etc. - to provide local wifi access to underserved communities. Make internet access available via a captive portal in hyper-local access points using pre-paid codes sold by local vendors and partners.
My Role
Sr. Software Engineer and Frontend Architect responsible for evaluation of the extant technology stack, and for the design and implementation of the captive portal.
Interesting Challenges
Architecture
The primary architectural challenge was providing a partner-branded experience at each hyper-local captive portal while maintaining a single codebase. Anticipating dozens of regional partners and thousands of vendor host sites, the solution needed to be scalable and maintainable.
The "partnerization" assets - logos, pricing models, app feature flags, legal notices, etc. - were stored in a headless CMS. The captive portal code had site identifiers injected during provisioning. The web app used the identifiers to retrieve the CMS assets. This solution allowed unlimited onboarding of new partner and vendor host sites over time with no code changes or deployment.
Technical
A persistent technical challenge was the high latency of the satellite or LTE links. The captive portal and web app needed to be fast and responsive when accessed using budget or low compute-power devices. It also needed to be branded for the partner site. The solution used NEXT.js to provide server-side rendering (SSR) of the initial page load, and then client-side rendering for subsequent page loads. While fine in theory, the initial SSR was not considered static by NEXT.js and could not be cached, either at the server or the captive portal host.
Another technical challenge was providing a seamless, no-login experience for returning devices on subsequent visits to the vendor. The solution used mac address cookies to identify returning devices with remaining usage credits and automatically log them in to the captive portal.
Results
In spite of the implementation difficulties noted above, dozens of sites were successfully onboarded in the first 12 months of operation across Mexico, Guatemala, Brazil, and Nigeria.
Skills
Demos / Artifacts