← All Work

AirQo Website

Multilingual web platform serving African communities

TypeScriptReactNext.jsi18nTailwind CSSCloudinary
Next.jsInternationalizationLow-bandwidth UX
AirQo Website screenshot
AirQo Websiteshipped

What it is

The main public-facing website for AirQo, built to serve communities across Africa in over 40 languages including Luganda, Ateso, and Runyankole. A comprehensive product marketing site with 8+ distinct product pages, developer documentation, and community resources.

The Problem

AirQo needed a modern, accessible website that communicates its mission and products to diverse audiences — from community members checking local air quality to researchers accessing documentation. The site needed to perform well on low-bandwidth connections and support African languages with no existing digital tooling.

My Role

Contributed to the frontend development of the AirQo website, building responsive components, implementing internationalization supporting 40+ languages including African languages, and optimizing performance for constrained networks.

Approach

Next.js with comprehensive i18n supporting 40+ languages, including several African languages with custom font support and text direction handling. Cloudinary for optimized image delivery. Mega-menu navigation with Products, Solutions, About, and Developers sections. Responsive design targeting 3G connections and mid-range Android devices. Service worker caching for offline access.

Hardest Decision

Implementing internationalization for African languages — many lack standard digital tooling, requiring custom solutions for font loading, text direction, and content management that respects linguistic nuances. Luganda and Runyankole, for example, have no established web typography conventions.

Status

Live at airqo.net. AirQo's primary digital presence serving communities, researchers, and policymakers across Africa with multilingual support for 40+ languages.

What I'd Change

Would implement progressive web app capabilities for offline access, add voice-based interaction for low-literacy users, and build a community-contributed translation system.

Stack

TypeScriptReactNext.jsi18nTailwind CSSCloudinary