Skip to content
ZERONE
Natrag na projekte
B2B SaaS · HR-Tech · AI matching · 2026

Case 06 — PairSonal: matching platforma za privremeni rad i posredovanje pri zapošljavanju

Obostrano anonimno B2B matching između tvrtki i HR agencija. Anonimnost je arhitektonska invarijanta, ne marketinško obećanje — kontakt podaci žive u odvojenoj sferi i server-side se otključavaju tek kod obostranog matcha.

0Hladnih poziva (by design)
4Match dimenzija
2Strane tržišta · ravnopravne
1-KlickKonkretizacija okvirnog ugovora

Izazov

Agencije za zapošljavanje preplavljuju HR odjele hladnim kontaktima — telefon, e-mail, pritisak. Mnoge tvrtke uklanjaju kontakte iz oglasa. Agencije pak plaćaju šesteroznamenkaste iznose godišnje (benchmark ~6.000 €/god. za sirove adresne liste) za baze u kojima većina tvrtki nema aktualnu potrebu. Nedostajao je bilateralni, tehnički iznuđen kanal koji strukturirano nalazi potražnju i ponudu — bez da jedna strana drugu zatrpava bukom.

Arhitektura

Next.js frontend s odvojenim portalima za dvije strane tržišta, FastAPI backend s OAuth2/JWT autentikacijom i sferno odvojenom perzistencijom kontakt podataka. PostgreSQL kao primary za profile, potrebe i matchove, s Alembic migracijama. Custom matching engine u Pythonu deterministički ocjenjuje četiri dimenzije — regiju (PLZ lookup), zanimanje, granu, vrstu posredovanja — bez black-box modela: svaka preporuka je objašnjiva preko scoring funkcije. Contact router server-side iznuđuje invarijantu anonimnosti i otvara kanal tek kod obostranog matcha.

FastAPI · OAuth2 · JWT · OpenAPIAPIORCHESTRATORNext.js · portal tvrtkiUI-CWORKERNext.js · portal agencijaUI-PWORKERMatching engine · regija · zanimanje · grana · posredovanjeMATWORKERSfera anonimizacije · contact gateANOWORKERAdmin router · pilot kontrola · dodjela badgeaADMWORKERPostgreSQL · SQLAlchemy · AlembicDBPRIMARY
APIFastAPI · OAuth2 · JWT · OpenAPI
UI-CNext.js · portal tvrtki
UI-PNext.js · portal agencija
MATMatching engine · regija · zanimanje · grana · posredovanje
ANOSfera anonimizacije · contact gate
ADMAdmin router · pilot kontrola · dodjela badgea
DBPostgreSQL · SQLAlchemy · Alembic

Pipeline

Matching i otvaranje kontakta — flow

  1. 01Tvrtka strukturirano objavljuje potrebu (besplatno): grana, zanimanje, regija preko poštanskog broja, vrsta posredovanja, uvjeti.
  2. 02Matching engine ocjenjuje sve profile agencija prema potrebi — deterministička scoring funkcija preko četiri dimenzije, svaka odluka auditabilna.
  3. 03Agencija vidi odgovarajuće potrebe i izražava interes — HR kontakt podaci tvrtke tehnički nisu u payloadu.
  4. 04Tvrtka kurira zainteresirane i aktivno bira kojoj agenciji daje kontakt — bez broadcasta, ciljana moć odluke.
  5. 05Kod obostranog matcha, contact router otvara kanal, okvirni ugovor se aktivira, angažman se rezervira jednim klikom konkretizacije.

Tehnološki stack

Next.js · React · TypeScriptTailwind CSS v4FastAPI · UvicornSQLAlchemy · AlembicPostgreSQLpython-jose (JWT) · passlib (bcrypt)OAuth2 Password-FlowCustom Matching-Scorer (Python)OpenAPI 3.0systemd · nginx · Let's Encrypt

Rezultat

Live u Early Accessu na pairsonal.de s regionalnim pilot rolloutom. Anonimnost je implementirana kao arhitektonska invarijanta: agencija ne može doseći tvrtku preko platforme dok tvrtka sama ne otključa match. Matching ostaje determinističko i objašnjivo — ista potreba daje istu listu prijedloga, bez model drifta, bez black-box oversellinga. U usporedbi s broadcast modelom konkurencije, kurirani izbor smanjuje kognitivno opterećenje obje strane tržišta.

Sličan projekt?

Razgovarajmo — slušamo prije nego što isporučimo.

Zatražite projekt