Inspiration

Hi! We're both from Taiwan, and we both spent exchange semesters abroad, one in Russia and one in Sweden. Coming home, we kept asking the same question: could we actually live somewhere else, and how?

The answers we found were scattered across government sites, forums, and agency ads. Agencies gave us a single "match score" with no explanation. Forums were outdated. Official sites were accurate but written in legal language, one country at a time. We wanted one place that tells you, honestly and with sources, where you stand today.

What it does

Move Compass is a self-assessment tool for professional migration routes, built on published official rules.

  • Enter your profile once, pick two focus countries, and the app scans 19 countries and 80 routes on your device, then returns your two picks plus one wildcard worth exploring.
  • Every condition is shown as met, not met, or unconfirmed, with the official wording, the clause it comes from, and a plain-language explanation.
  • Salary and funds are compared directly against the published figures (e.g. the German Blue Card threshold, Canada's settlement funds).
  • Each route explains how it actually selects: apply directly, wait for an invitation, random draw, or nomination, with recent cut-offs where they're published.
  • What-if scenarios let you stack changes like a language score, more experience, a degree, or a job offer, and see what they would unlock.
  • No sign-in needed. Profile data stays on device, and optional sync is AES-GCM encrypted with a key the cloud never holds.

It is not legal advice and never predicts approval. It shows you the rules, where you stand against them, and what's still missing.

How we built it

  • Native iOS app, Traditional Chinese and English, with dark mode and Dynamic Type.
  • A versioned rule snapshot bundled with the app: every route records its source, rule version, and verification date, and the app only notifies users when a rule has genuinely changed.
  • A rule engine that evaluates each condition as met / not met / unconfirmed, and never turns missing information into a "no".
  • Occupation matching through ISCO codes, mapped to the UK Home Office eligible list via the ONS SOC 2020 index.
  • Subscriptions with RevenueCat, with Sign in with Apple and Google so purchases follow users to a new phone.

Challenges we ran into

  • The rules kept moving while we built. The US H-1B lottery became wage-weighted on 2026-02-27, and a new F-1 admission rule took effect on 2026-09-15. We had to design for change, not for a fixed dataset.
  • Meeting a threshold is not the same as being selected. Australia's skilled visas and Canada's Express Entry invite people at scores well above the minimum. We added real invitation cut-offs so users aren't misled by the eligibility floor.
  • Currency. Converting a Taiwanese salary into euros looks helpful but can be wrong. We only convert where the official rule allows an equivalent; everything else stays unconfirmed.
  • Killing our own score. Our first version had a single score, the exact "mystery number" we set out to avoid. We rebuilt the results around what's missing and a two-part progress bar: what the rules confirm today, and the ceiling if unconfirmed conditions hold.
  • Shipping fast has costs. In 1.4 we made occupation required, but the field sat on a later page, so new users got stuck. We fixed it in 1.4.1 within days and learned to test the full onboarding flow on every release.

Accomplishments that we're proud of

  • What-if scenarios turn a vague dream into concrete steps: "if I pass IELTS 7, this route opens."
  • Every result is traceable to an official source, clause, and verification date.
  • We made all 19 countries and 80 routes free, because whether you qualify shouldn't sit behind a paywall.
  • A privacy design where your profile never has to leave your phone.

What we learned

The hardest part wasn't the code. It was translating legal, rule-based language into plain words people can act on, and connecting each rule to real life: salary, savings, language, family, and the kind of place you want to live. We also learned that honesty is a feature. Saying "unconfirmed" builds more trust than a confident guess.

What's next for Move Compass

  • Gap plans: for each condition you haven't met yet, a step-by-step path showing what to work on first and roughly how long it takes.
  • A goal tracker that follows your progress and alerts you when a rule that affects you changes.
  • More countries and routes, including student and working-holiday pathways.

Want to move abroad? Move Compass helps you turn the rules into a plan you can manage.

Built With

  • cloudflare-pages
  • cloudflare-workers
  • crashlytics
  • deepseek
  • firebase
  • firebase-authentication
  • firebase-cloud-functions
  • firebase-remote-config
  • firestore
  • github-actions
  • ios
  • node.js
  • revenuecat
  • sign-in-with-apple
  • swift
  • swiftdata
  • swiftui
  • typescript
  • xcode-cloud
Share this project:

Updates

Submission history