← All projects

Talent Hub Mozambique

A talent marketplace for students and graduates

Archived 2024 - 2025 Full-stack developer

A digital talent marketplace connecting Mozambican students and graduates with employment, entrepreneurial and academic opportunities, built around multiple profile types (talent, companies, institutions, investors) and skills-based matching.

Highlights

  • Four distinct account types sharing one opportunity model.
  • Anonymous browsing plus a blacklist, so a candidate can look around without their current employer noticing.
  • Skills-based matching with opportunity notifications, instead of a search box and hope.

Built with

Django Vue 3 Quasar PostgreSQL REST API

What it is#

A centralised place where Mozambican students and graduates could be found by employers, and where they could find employment, entrepreneurial and academic opportunities. Four kinds of account share one opportunity model: talent, companies, institutions and investors.

The interesting constraint: browsing without being seen#

The requirement that shaped the design was anonymous browsing.

Someone currently employed who wants to look at opportunities has a real problem: visible interest is career risk, especially in a small market where everyone knows everyone. If the platform makes browsing visible, the people most worth recruiting will not use it.

So the profile model separated what is discoverable from what is identifying. A recruiter could search skills and see a match without seeing a name until the candidate chose to be seen. A blacklist let a candidate exclude specific organisations, which in a market the size of Mozambique usually means “my current employer”.

That is a data modelling problem more than a UI one. Every query had to be written knowing which fields it was allowed to return, which is the same reasoning I later applied properly with row level security and anonymized views in Postgres.

What is in it#

  • Four account types: talent, companies, institutions and investors, over a shared opportunity model.
  • Skills-based matching with opportunity notifications, rather than a search box and hope.
  • Advanced search and filtering, with anonymous browsing.
  • Privacy controls and blacklisting.
  • Event listings and scholarships, since academic opportunity mattered as much as employment for the target audience.

How it is built#

Django with a REST API, Vue 3 and Quasar on the frontend, PostgreSQL for storage.

What I would do differently#

Put the privacy rules in the database. I enforced visibility in application code. It worked, but it meant every new query was a chance to leak a name, and correctness depended on me remembering. The version of me that has since built anonymized views and row level security policies would not make that choice again.

Fewer account types at launch. Four profile types multiplied the surface area of every feature. Two would have proved the concept, and the other two could have followed.

Status#

Archived. The platform is still reachable but is no longer being developed. It is here because the privacy modelling is genuinely the most interesting thing about it, and because it is the direct ancestor of thinking I now apply as a matter of course.

Screenshots

Talent Hub Mozambique Project Screenshot
Talent Hub Mozambique Project Screenshot
Talent Hub Mozambique Project Screenshot
Talent Hub Mozambique Project Screenshot