Awesome Expat

Contribute

Contribute on GitHub

A directory is only as good as the descriptions in it. There is no web form here, and that is deliberate: a link is content, and content belongs in version control where it is reviewable, diffable, and never lost to a spam cleanup. So every contribution happens in the repository.

Do not want to touch git? Open an issue and describe what is missing. Something broken? Report a dead link.

How to add a link

  1. 1 Check it is not already on GitHub Duplicates are the most common rejected submission. Search the site, or grep content/links/ for the domain — two links that differ only by www., a trailing slash, or a utm_ parameter are one link.
  2. 2 Add one YAML file, in the browser or locally Links live in content/links/<country>/<category>/<slug>.yaml. The button above opens GitHub's editor at the right place, which forks the repo and opens a pull request for you. Working locally instead? CONTRIBUTING.md is the step-by-step guide; AGENTS.md is the same rules written for a coding agent.
  3. 3 Write a description that earns its place This is the field that gets read, and the one that gets rejected. More on it below.
  4. 4 Open the pull request One link per pull request: a reviewer has to read the description, and a ten-link PR gets closed for being unreviewable. CI checks the schema and every link on the branch.

Read the full contributing guide on GitHub →

What a description has to do

It has to tell a reader something they could not get from the title alone, and something they could not get by visiting the page.

Rejected — restates the title

"A comprehensive guide to finding an apartment in Berlin, including listings, advice, and tips."

Every word of this is the title again. A reader who saw the title learned nothing.

Accepted — says what it is for

"Filterable Berlin flat listings by district and rent ceiling, the only site that shows the Anmeldung requirement per address. Landlords list here directly, so the stock is current."

Filterable. Shows a constraint a newcomer will hit. Tells you why it beats the other options.

  • ✓ Two or three sentences. Long enough to be useful, short enough to scan.
  • ✓ Written for someone who has not been there yet. No assumed local knowledge.
  • ✓ Say what it is bad at, if that is knowable. Honest beats promotional.
  • ✗ Not marketing copy. If it was written by the site's own team, it does not belong here.
  • ✗ Not a link to another list of links, unless it is genuinely the best one.

What we accept

Government and official sources
Embassy pages, municipal sites, official immigration portals. Slow and often badly designed, and the most authoritative thing available.
Nonprofit and community organisations
Established expat networks and advice charities. Check that they are still operating before submitting.
Tools that solve a specific problem
Calculators, checklists, comparison tools. Not apps that are mostly a homepage with a sign-up form.
Written guides, when they are genuinely good
Long-form, specific, and about a place rather than about opinions. Light content is the main thing we reject.

Pick a gap

The fastest contributions fill a hole that is already visible. 138 countries and 2 categories have nothing at all yet. Pick one and it opens the right place to add a file on GitHub.

Categories needing links

Countries with nothing