← All work
Client work · Web
GENIBOO
Bilingual registration and payments for a children's nonprofit.
- Year
- 2026
- Role
- Full-stack developer (part-time), with HRSPRO
- Stack
- Next.js 16, React 19, TypeScript, Tailwind v4, Stripe
- Links
- Visit site

The problem
GENIBOO runs before- and after-school programs, camps, STEM and arts for kids in Rockland, Ontario. Families needed one place to register for nine program categories, apply for financial assistance and donate, in English or French.
What I built
A Next.js App Router site with Stripe-backed flows for program fees, financial-assistance applications and donations. I worked directly with the Executive Director through regular check-ins, turning program needs into scoped features against a fixed brief.
A decision worth explaining
Hand-rolled i18n and theming, no libraries
Every page needed to work in both English and French, plus light and dark themes. Rather than add an i18n or theming library, I built both from scratch: the language switches in place on the same URL, the site carries no extra dependencies for either, and I control exactly how each one behaves.
Outcomes
- Live at geniboo.ca, serving nine program categories.
- Program fees, financial-assistance applications and donations all run through Stripe.
- English and French throughout, plus light and dark themes, with no i18n or theming dependencies.
