Association MVP · 1 month
iaol.se
A modern digital home for Sweden's Indian community, built for accessibility, cultural pride, and long-term maintainability.
The problem
The Indian Association of Luleå (IAOL) is a community organisation representing the Indian diaspora in northern Sweden. Their web presence had grown on a legacy Django static site — functional, but increasingly difficult to maintain and visually misaligned with who they are.
They needed a modern, maintainable platform with proper SEO, GDPR compliance for a European audience, and a design that genuinely reflects the community's cultural identity — not just a generic association template.
What was built
- Cultural identity design
- Dark-themed site with saffron and Indian tricolour accent system — the design reflects the association's identity rather than defaulting to a generic template.
- Dynamic events system
- Events are managed via Supabase with individual detail pages generated at build time. Adding an event doesn't require a developer.
- GDPR-compliant cookie consent
- Cookie consent is implemented honestly — clear accept/reject options, no dark patterns. Google Analytics 4 only activates after explicit consent.
- Responsive navigation with mobile drawer
- A mobile-first navigation that collapses into a slide-in drawer — accessible, animated with Framer Motion, and keyboard navigable.
- SEO infrastructure
- Auto-generated sitemap, robots.txt, and Open Graph metadata throughout. The Next.js Metadata API handles page-level SEO without manual maintenance.
The hardest part
Migrating a legacy Django codebase to a fully server-rendered Next.js App Router architecture is not just a technical lift — it's a structural one. Every assumption about routing, data fetching, and rendering had to be reconsidered.
Doing that while enforcing strict TypeScript, Tailwind v4's CSS-first configuration, and GDPR requirements — without a CMS, using structured content files and Supabase as the data layer — meant there was no off-the-shelf playbook. Everything had to be reasoned through from first principles.
It shipped in a month.
Tech stack
- Next.js 15 (App Router)
- Full-stack framework
- React 19
- UI layer
- TypeScript
- Type safety throughout
- Tailwind CSS v4
- CSS-first configuration
- Framer Motion
- Animations
- Supabase
- Events database
- Vercel
- Deployment
See it live
The site is live at iaol.se — the events system, mobile navigation, and cultural design are all there to explore.