Code that moves people forward

We need engineers, product thinkers, security experts and data specialists to contribute to the Global Refugee Network and the open-source software behind it.

Behind every candidate record is a person with a story, skills, and a desire for a dignified future. The code we write determines whether they find one.

Andrew Walsh, CEO

The Global Refugee Network runs on Talent Catalog, an open-source project that has supported skilled refugees seeking migration pathways and dignified work for ten years.

It is in production today. Resettlement partners, employers and people in camps, cities and displacement situations rely on it every day. Contributors give it the engineering capacity it needs to grow.

The technical stack

One repository holds every module. The main language is Java, with TypeScript, HTML, SCSS and Python. The code is licensed under the GNU GPL, version 3.

# server
Java 17 · Spring Boot · PostgreSQL with pgvector · Redis
# portals
Angular · TypeScript · SCSS
# services and data
Python · FastAPI skills service · Apache Superset
# infrastructure
AWS · Terraform · Docker

Every discipline has a role

Whether you write code, shape product, design for accessibility, secure systems or wrangle data, there is meaningful work waiting.

  • Backend engineers

    Java, Spring Boot, REST

    The backbone of the platform. You'll work on the API behind GRN's three portals, handling candidate data securely and at scale.

  • Frontend engineers

    Angular, TypeScript, SCSS

    You'll build the interfaces that refugees, partners and admins rely on every day.

  • Product managers

    discovery, roadmap, prioritisation

    You'll help the team focus on what matters most for candidates and partner organisations.

  • Security engineers

    appsec, infrastructure, compliance

    This platform holds sensitive data about vulnerable people. Your expertise is critical.

  • DevOps and infrastructure

    AWS, Terraform, Docker

    The platform runs on modern cloud infrastructure. You keep it reliable and scalable.

  • Data engineers and analysts

    Superset, PostgreSQL, Python

    Refugee outcomes need to be measured and improved. You'll build the data layer that lets partners understand and act on results.

  • UX designers

    research, wireframes, accessibility

    Users include people with limited tech access, high anxiety and language barriers. Thoughtful design is a direct form of care.

  • QA engineers

    testing, reliability, coverage

    Bugs here have real consequences. Thorough testing protects the platform and the people who depend on it.

  • Technical writers

    docs, onboarding, API specs

    Good documentation lowers the barrier for new contributors and helps teams work together across time zones.

From zero to your first pull request

  1. Read the contribution guide

    Start with CONTRIBUTING.md on GitHub. It covers code style (Google Java Style), branch conventions and the pull request review process. Please also read the Code of Conduct.

  2. Set up your local environment

    Install Java 17 (Temurin, via sdkman), Node 24 (via nvm), the Angular CLI, Docker Desktop and IntelliJ IDEA. Clone the repository and use Docker Compose to start PostgreSQL and Redis locally. It is all preconfigured.

  3. Configure the app

    The app reads its configuration from a local environment file, and the Docker Compose stack covers most development without external credentials. If your issue needs a third-party integration, say so on the issue and we'll arrange scoped access with you.

  4. Pick an issue and branch

    Browse open issues labelled "help wanted". Branch from staging, keep your branch synced with staging daily, and commit small, focused changes.

  5. Open a pull request to staging

    Merging to staging rebuilds the AWS test environment. The team will review your change and work through feedback with you. Production deploys go from staging to master.

How we work

Small, focused commits
Smaller pull requests are easier to review, revert and build on. Push regularly.
Staging is shared, so respect it
Only push to staging when your code builds and will not break other contributors. Master is production.
Security and privacy come first
This platform stores data about some of the world's most vulnerable people. Think about data access, encryption and exposure in every change, and raise concerns early.
Async-first, kind collaboration
Contributors work across time zones and circumstances. Be explicit in pull request descriptions, patient in reviews and generous with context.
The person behind the record is the point
Every engineering decision should improve the outcome for a displaced person seeking safety, opportunity and dignity.

This is likely the most meaningful side project you'll ever work on

Interested, or want to chat first? Email info@openpathwaycollective.org.

We'll also send you our newsletter. You can unsubscribe at any time.