All Work / NGO / Organisation 2025

Community
Development Organisation

A multilingual NGO website credible to international donors and accessible to local communities — with donation form, events calendar, and annual reports section. Bilingual: English and Luganda.

Add screenshot: /assets/images/work/ngo-hero.jpg

Two very different audiences, one website

The organisation needed to appeal simultaneously to international donors (who would arrive on desktop, expect formal credibility, and look for impact reports and financial transparency) and to local community members (who would arrive on mobile, read in Luganda, and want to know about programmes and events near them).

Most NGO websites in Uganda at the time were either too formal (alienating local audiences) or too informal (not credible to external funders). The brief was to bridge that gap.

Language toggle, trust signals, mobile-first structure

A JavaScript-powered language toggle switches all page text between English and Luganda without a page reload. Content is stored in a simple JS object keyed by language — no CMS complexity, no translation API costs.

For international donors: an impact stats section, a downloadable annual report, team photos, and a clear "About our work" narrative. For local readers: programme descriptions in plain language, an events calendar, and a WhatsApp contact button that opens a pre-filled message.

What was delivered

  • Homepage with hero, impact counters, programmes overview, team section
  • English ↔ Luganda language toggle (no page reload, persists across pages)
  • Donation form integrated with Flutterwave (Mobile Money + cards)
  • Events calendar with add-to-Google-Calendar link per event
  • Annual reports download section (PDFs stored on Cloudflare R2)
  • Programmes page with individual programme detail sections
  • Team page with photos, bios, and contact links
  • Contact form + embedded Google Maps location
  • WhatsApp CTA on every page (primary local communication channel)
  • Schema.org NGO + LocalBusiness JSON-LD for search visibility

The stack

Cloudflare Pages Cloudflare R2 Cloudflare Workers Vanilla JS Flutterwave i18n (custom) Google Maps Embed Resend

A site that works for both audiences

The language toggle was the feature that most impressed the client — the ability to reach Luganda-speaking community members without maintaining a separate website. Donations via Mobile Money began within the first week of launch.

The site has since been used in grant applications as a credibility reference, with at least two funders citing it as a factor in their due diligence process.

Chat on WhatsApp