Inspiration

Moving to a new country is one of the most disorienting experiences a person can go through — and the information that should help is scattered across government PDFs, outdated blog posts, Reddit threads, and well-meaning but unreliable WhatsApp groups. Several of us (or people close to us) have lived that maze: long lines at the SSA office without the right document, leases signed without understanding tenant rights, doctor visits skipped because no one explained how insurance works. We wanted to build the companion we wished we'd had on day one — something calm, trustworthy, and human. That's Welcome Compass.

What it does

Welcome Compass is a guided platform that helps newcomers navigate life in a new country across the domains that matter most: immigration & status, housing, work, money, health, family, and community.

Compass Home orients users by life domain so they can start with whatever is most urgent. Topic Rubrics break each situation (e.g. "Apply for an SSN") into ordered steps with sources, time estimates, and prerequisites. Immigrant Voices pairs each rubric with curated first-person stories ingested from trusted sources and scored for usefulness, so guidance always comes with lived experience. Community Forum lets newcomers ask questions and settled immigrants answer, with answers that can cite a rubric step or a Voice. Events surfaces local meetups, legal clinics, and orientation sessions. No account is required to read — the lowest-friction path to the next right step.

How we built it

Frontend: TanStack Start (React 19) with file-based routing, Tailwind v4 design tokens, and a shadcn-derived component library. Custom components like DomainCard, RubricStepCard, StoryCard, and ContributeForm carry the design system. Backend: Lovable Cloud (managed Postgres + auth + storage) with row-level security on every user-owned table and a separate user_roles table to prevent privilege escalation. Server logic: Typed RPC via createServerFn, plus public webhook routes under /api/public/* for ingestion and cron. Voices ingestion pipeline: Tavily-powered crawls of trusted domains → an LLM (hosted on Together) scores each candidate against our editorial rubric → high-scoring stories are persisted, tagged, and attached to the matching topic. Auth: Email + Google sign-in with email verification. Design: A warm editorial palette (Compass Blue, Terracotta, Sand) with serif storytelling type and humanist sans for UI — closer to a thoughtful magazine than a government portal. Challenges we ran into Trust vs. coverage. Pulling lots of immigrant content is easy; pulling content that's accurate, current, and humane is hard. Our rubric scoring went through several iterations before we trusted it. Bureaucracy is jurisdictional. A "Renew visa" rubric means very different things across status types and countries. We had to design an information architecture that scales without lying through oversimplification. Calm UX under stressful content. The default instinct in product design is to add — banners, badges, CTAs. We had to keep deleting to honor "calm over clever." Edge runtime constraints. Running ingestion and AI scoring inside an edge worker required swapping out a couple of Node-only libraries and being disciplined about server-only modules. Two-sided cold start. Voices need contributors; rubrics need readers. We bootstrapped the Voices archive with curated ingestion so the experience felt full from day one, even before community contributions ramped up. Accomplishments that we're proud of Shipped a coherent, multi-surface product (home, rubrics, voices, forum, events, contribution flow) — not just a landing page. Built an end-to-end ingestion + scoring pipeline that turns scattered web content into a curated, attributable archive of immigrant voices. Held the design line: the product feels warm and editorial, not bureaucratic. Whitespace, typography, and color all carry meaning. Locked down security from day one — RLS on every user table, roles in a separate table, signed webhooks, secrets never in client code. Made the whole thing usable without an account, so a stressed first-time visitor can get value in under 30 seconds.

What we learned

Information design is the product. For newcomers, the hardest part isn't the answer — it's knowing which question to ask next. Good IA beats clever features. Stories convert better than steps. Pairing a rubric step with one real Voice dramatically changes how people engage with otherwise dry guidance. Trust is a stack. It comes from cited sources, visible dates, transparent moderation, and a UI that doesn't try to upsell you. Lose any layer and the whole thing wobbles. AI is best as a curator, not a narrator. Using LLMs to score and tag human-written stories produced more trustworthy output than asking them to generate advice directly. Calm is a feature. Restraint in color, copy, and motion isn't a design preference — it's accessibility for people on their worst day. What's next for Welcome Compass Multilingual rubrics in Spanish, Mandarin, and Arabic — meeting users in the language they think in. Country-pair personalization so a Brazilian arriving in Portugal sees different guidance than a Nigerian arriving in Canada. Saved progress and reminders — letting users check off rubric steps and get nudged when a deadline is near. An AI guide that turns a free-text situation ("I just got a job offer in Austin and need a visa transfer") into a draft checklist of rubrics. Partnerships with legal-aid orgs and city welcome programs so Welcome Compass becomes the connective tissue between newcomers and the people already trying to help them. Expansion beyond the US — starting with Canada, the UK, and Germany, where our existing rubric structure maps cleanly.

Built With

Share this project:

Updates