Code that moves people forward
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.
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 · DockerEvery 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
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.
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.
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.
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.
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.
