← All projects

Queenstown Lakes Newcomers Guide

The council's printed guide for people who've just moved to the district, rebuilt as a website in five languages. Answer five questions and it becomes your own settling-in checklist, in te reo Māori, Chinese, Arabic, Spanish or English.

Web apps

Type
Client work
Status
Live
Year
2026
Built with
Next.js, React 19, TypeScript, Tailwind CSS, shadcn/ui, Motion, Leaflet, Cloudflare Workers, OpenNext, Cloudflare D1, Resend, Zod, Vitest

People move to the Queenstown Lakes District from all over the world, for work, study, a working holiday or family. Many have English as a second language. Queenstown Lakes District Council's Welcoming Communities programme helps them settle in, and its main tool was a printed Newcomers Guide: ten sections on everything from finding a rental to converting a driver licence.

A printed guide has the same page for everyone, in one language, and goes out of date the day it's printed. The council wanted it online, in the languages people actually speak, and useful to the person reading it.

I rebuilt it as a website. Every page is in five languages, including te reo Māori and right-to-left Arabic, and five short questions turn the whole guide into a checklist for your own situation.

Impact

Languages on every page, including te reo Māori and right-to-left Arabic
5
Words of guide, written in English and kept in step in four more languages
10,000
Different personal guides from five questions
718
WCAG 2.1 accessibility, throughout
AA

From print to the web

The guide kept its shape: ten colour-coded sections, each with its te reo Māori name, broken into 38 topic pages. Each topic gives the steps in order, who to contact and where, and what most people read next. Contact details for the reader's own area come first, marked "Near you".

Moving the content across also meant checking it. The printed guide says you can drive on an overseas licence for 18 months. That drops to 12 months on 1 November 2026, so the website says 12 and explains what happens to people who started converting before the change.

A topic page: what to do, in order, with the section's other pages beside it and a quick vote on whether it helped.
qldc-newcomers-hub.qldc.workers.dev/en/topics/transport/driver-licence
Newcomers Guide topic page: converting your driver licence

Every word, in every language

Translated sites usually break the same way: a page gets a new paragraph in English and nobody notices it's missing in Arabic. So here, a missing translation fails the build.

Every piece of text is declared once with all its languages. English sets the shape, and leaving out a language, or a sentence within one, is a TypeScript error. Adding Latin American Spanish was one line in the language list. The compiler then listed every piece of text still missing it.

Nothing is translated as the page loads. Every page is rendered ahead of time in every language and served as a static file from Cloudflare, so the Arabic site loads as fast as the English one.

Translations are drafted with AI, under written rules: plain, warm language rather than word for word. Te reo headings, place names and organisation names stay as written, and Spanish says tú, never vosotros. Translations supplied by professional translators are never rewritten, and anything about health, legal rights or emergencies is flagged for a human to check.

My guide on a phone, in English.
Newcomers Guide on a phone: My guide in English
The same guide in Arabic. The layout mirrors right to left, while place names like Queenstown stay in Latin script.
Newcomers Guide on a phone: the same guide in Arabic, laid out right to left

Arabic needed more than translated words. The whole layout mirrors: navigation, arrows, cards and the progress count. A few things must not flip: addresses, websites and email addresses are pinned to read left to right, so an Arabic page never scrambles a street number.

A guide that's yours

The printed guide is the same for everyone. A seasonal worker on a working holiday and a family who've moved from Auckland need very different first weeks.

So the site asks five questions: what brings you here, where you're moving from, when you arrived, who you're with, and where you're living. Every question has a "Skip and show me everything" option, and the answers stay in your browser. There's no account and no email address.

The first of five questions. The answers only change what comes first. The whole guide is always one click away.
qldc-newcomers-hub.qldc.workers.dev/en/setup/situation
Newcomers Guide: the first of five questions, what brings you to the district?

The answers become a checklist of around a dozen tasks across four stages, from "First week" to "Settling in". Someone moving from elsewhere in New Zealand skips the bank account, tax number and licence conversion. A family with children gets school enrolment. Someone on a working-holiday or student visa is told that public healthcare probably doesn't cover them before they try to enrol with a doctor.

Tasks with a deadline follow you. If you arrived three months ago and haven't converted your licence, it moves into your current stage, with its deadline shown for when you arrived. Every suggestion says why it's there: "Because you're settling in Queenstown".

A personal guide for someone here for work, from overseas, with a partner, in Queenstown. Two tasks done, and the reading suggestions each say why they're there.
qldc-newcomers-hub.qldc.workers.dev/en/my-guide
Newcomers Guide: a personal guide for someone here for work, with tasks by stage

The rules are plain functions, separate from the pages. A sweep of 7,200 possible answer combinations checks that none of them breaks, that no task appears twice, and that a suggested page is never one that's already on your plan. Those combinations produce 718 different guides in English alone, and over a hundred tests pin the rules down.

Where things are

The printed guide's district map became a real one. Places from the guide sit on an OpenStreetMap base, filtered by what you need: support and advice, health, Council and libraries, or getting around. Every pin is also in a list beside the map, so the map is never the only way to find something.

The district map. Pick a category to narrow it, then a pin or a place in the list to see what it is.
qldc-newcomers-hub.qldc.workers.dev/en/map
Newcomers Guide district map with place categories and a place list

Built for everyone who'll read it

This is a public council site, so WCAG 2.1 AA wasn't optional. The council's section colours didn't all pass contrast, so each one has a darker "ink" shade for text, and the brightest colours take dark text instead of white. Every control works from the keyboard and shows where focus is, and choice tiles are real radio groups that screen readers announce properly.

Readers can also say whether a page helped, and leave fuller feedback. Votes and submissions are stored in Cloudflare D1, each submission is emailed to the Welcoming Communities team, and both are rate limited. If the email fails, the failure is recorded against the submission rather than lost.

How it's built

What I'd take from it

Translation is a build problem, not a content problem. Once a missing sentence in any language stops the site from building, five languages are no harder to keep accurate than one, and adding the next one is a day's work.