Two-sided recruitment flows
Workers and employers have separate dashboards, profile requirements, marketplace actions, and communication paths.
A multilingual employment marketplace connecting non-EU workers with European employers prepared to hire internationally.
Status
Completed
Year
2026
My Role
Full-stack Laravel Developer
Duration
Full project build
Project Overview
The Problem
The Solution
Key Features
Workers and employers have separate dashboards, profile requirements, marketplace actions, and communication paths.
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.
Recommendation logic ranks relevant workers and opportunities with match percentages and human-readable reasons.
Sumsub identity verification, business verification, and admin review flows support safer marketplace participation.
Employer contact access is connected to credits, checkout flows, and webhook-controlled account state.
The platform supports applications, contact requests, notifications, direct messaging, and post-hiring feedback.
Development Process
Engineering Challenges
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.
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.
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.
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.
Project Gallery
Results
Lessons Learned
I’m open to discussing web applications, business platforms, admin systems, and custom digital products.
Let’s Talk