Skip to content
Back to Projects
Two-sided Employment Marketplace Academic Project Featured Project

EuroTalent

A multilingual employment marketplace connecting non-EU workers with European employers prepared to hire internationally.

EuroTalent project cover

Status

Completed

Year

2026

My Role

Full-stack Laravel Developer

Duration

Full project build

Project Overview

EuroTalent is a full-stack Laravel marketplace designed around international recruitment. I built it to connect non-EU workers who are looking for European opportunities with employers that are prepared to hire internationally and support the required work-permit or relocation process.

The Problem

Workers exist. Jobs exist. The difficult part is connecting the right worker with an employer that is actually prepared to hire internationally. Workers outside the EU face language barriers, fragmented job searching, uncertainty around permits and visas, and difficulty knowing which employers are legitimate. Employers face labour shortages, language barriers, trust concerns, and extra complexity when they need to evaluate candidates from another country.

The Solution

I structured EuroTalent as a two-sided marketplace with separate worker and employer journeys. Workers can complete professional profiles, publish looking-for-work posts, discover vacancies, apply, manage applications, receive contact requests, and communicate with employers. Employers can complete company profiles, publish hiring posts, discover workers, review applicants, send contact requests, and continue the conversation inside the platform.

Key Features

Two-sided recruitment flows

Workers and employers have separate dashboards, profile requirements, marketplace actions, and communication paths.

Multilingual from the First Visit

International recruitment brings together people who may not share a language, so EuroTalent is multilingual by design. From the first visit, Laravel middleware reads the browser's Accept-Language header, considers its language preferences in priority order, and matches regional variants to a supported base locale. If none matches, the configured default is used. Registration preselects that locale as the preferred account language, which users can change before signing up or later in account settings. Once signed in, the saved account language takes priority over browser preferences and determines the localized interface. DeepL handles translation of relevant user-generated marketplace content separately from interface localization. Translation controls in conversations help workers and employers understand messages across languages. A worker can use one supported language while an employer uses another, reducing language friction throughout discovery and communication.

Matching and Strong Match

Recommendation logic ranks relevant workers and opportunities with match percentages and human-readable reasons.

Trust and verification

Sumsub identity verification, business verification, and admin review flows support safer marketplace participation.

Credits and Stripe payments

Employer contact access is connected to credits, checkout flows, and webhook-controlled account state.

Applications and messaging

The platform supports applications, contact requests, notifications, direct messaging, and post-hiring feedback.

Development Process

The build had to work as one connected recruitment lifecycle, not only as separate CRUD screens. I implemented role-based access, profile-completion gates, marketplace publishing, worker and employer discovery, applications, contact requests, multilingual content, DeepL-powered translation flows, matching logic, notifications, Sumsub verification, admin verification workflows, credits, Stripe checkout, and webhook handling. The matching system evaluates profile, preference, and opportunity data such as profession, preferred country, work type, experience, industry, work-permit support, and visa support. It can present match percentages and explain why a worker or vacancy is relevant, including Strong Match states for especially compatible opportunities.

Engineering Challenges

Two user journeys in one product

Challenge

Workers and employers needed different goals, permissions, dashboards, and actions without turning the product into two disconnected applications.

Approach

I designed the flows around roles, profile state, verification state, and the next useful action for each side.

Result

The marketplace feels connected while still respecting each user type.

Multilingual user-generated content

Challenge

The interface language was only part of the problem. Marketplace posts, profiles, applications, and messages also needed to be understandable across languages.

Approach

I integrated DeepL translation flows and treated localized content as a core part of discovery and communication.

Result

Language becomes less of a blocker during early recruitment conversations.

Matching logic that stays explainable

Challenge

Recommendations needed to be useful without hiding the reasoning from users.

Approach

I used weighted criteria such as profession, country, work type, experience, industry, work-permit support, and visa support, then surfaced percentages and reasons in the UI.

Result

Users can see why an opportunity or candidate is relevant instead of only receiving a filtered list.

Verification, payments, and gated access

Challenge

Identity verification, business approval, credits, Stripe checkout, and private contact access all affect sensitive account state.

Approach

I kept the permission rules explicit and tied state changes to verifiable events, admin decisions, and profile-completion requirements.

Result

The recruitment lifecycle is easier to audit and safer to operate.

Results

The result is a functional end-to-end marketplace where workers and employers can discover each other, establish trust, find relevant matches, and progress from discovery to direct communication inside one multilingual system.

Lessons Learned

EuroTalent pushed me to think beyond individual pages. The important work was connecting user journeys, integrations, trust mechanisms, multilingual data, matching logic, payments, and permissions so the whole recruitment flow stayed understandable and controlled.

Have a similar idea?

I’m open to discussing web applications, business platforms, admin systems, and custom digital products.

Let’s Talk