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

Case 06 — PairSonal: matching platforma za privremeni rad i kadrovsko posredovanje

Obostrano anonimno B2B matching između firmi i kadrovskih agencija. Anonimnost je arhitektonska invarijanta, ne marketinška obećanja — kontakt podaci žive u odvojenoj sferi i server-side se otključavaju tek kod obostranog match-a.

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

Izazov

Kadrovske agencije preplavljuju HR odeljenja hladnom akvizicijom — telefon, e-mail, pritisak. Mnoge firme uklanjaju kontakt-podatke iz oglasa. PZA pak plaćaju šestocifrene iznose godišnje (benchmark ~6.000 €/god. za sirove adresne liste) za baze u kojima većina firmi nema aktuelnu potrebu. Nedostajao je bilateralni, tehnički iznuđen kanal koji nalazi potrebu i ponudu strukturisano — bez da jedna strana drugu zatrpava bukom.

Arhitektura

Next.js frontend sa razdvojenim portalima za dve strane tržišta, FastAPI backend sa OAuth2/JWT autentikacijom i sfernom razdvojenošću kontakt-podataka. PostgreSQL kao primary za profile, potrebe i match-eve, sa Alembic migracijama. Samogradnji matching engine u Python-u deterministički ocenjuje četiri dimenzije — region (PLZ lookup), zanimanje, granu, vrstu posredovanja — bez black-box modela: svaka preporuka je objašnjiva preko scoring funkcije. Contact router server-side iznuđuje anonimnost-invarijantu i otvara kontakt tek kod obostranog match-a.

FastAPI · OAuth2 · JWT · OpenAPIAPIORCHESTRATORNext.js · portal firmiUI-CWORKERNext.js · PZA portalUI-PWORKERMatching engine · region · zanimanje · grana · posredovanjeMATWORKERSfera anonimizacije · contact gateANOWORKERAdmin router · pilot kontrola · dodela pečataADMWORKERPostgreSQL · SQLAlchemy · AlembicDBPRIMARY
APIFastAPI · OAuth2 · JWT · OpenAPI
UI-CNext.js · portal firmi
UI-PNext.js · PZA portal
MATMatching engine · region · zanimanje · grana · posredovanje
ANOSfera anonimizacije · contact gate
ADMAdmin router · pilot kontrola · dodela pečata
DBPostgreSQL · SQLAlchemy · Alembic

Pipeline

Matching i otvaranje kontakta — flow

  1. 01Firma strukturisano unosi potrebu (besplatno): grana, zanimanje, region preko PLZ, vrsta posredovanja, uslovi.
  2. 02Matching engine ocenjuje sve PZA profile prema potrebi — deterministička scoring funkcija preko četiri dimenzije, svaka odluka sledljiva.
  3. 03PZA vidi odgovarajuće potrebe i signalizira interes — HR kontakt-podaci firme tehnički nisu u payload-u.
  4. 04Firma kurira zainteresovane i aktivno bira kojem PZA daje kontakt — nije broadcast, ciljana moć izbora.
  5. 05Kod obostranog match-a Contact-Router otključava kanal, okvirni ugovor se aktivira, angažman se rezerviše jedno-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

Uživo u Early Access-u na pairsonal.de sa regionalnim pilot rollout-om. Anonimnost je implementirana kao arhitektonska invarijanta: PZA preko platforme ne može da kontaktira firmu sve dok firma sama ne otključa match. Matching ostaje determinističko i objašnjivo — ista potreba daje istu listu predloga, bez drift-a modela, bez black-box overselling-a. U poređenju sa broadcast modelom konkurencije, kurirani izbor smanjuje kognitivno opterećenje obe strane tržišta.

Sličan poduhvat?

Pišite nam — prvo slušamo, pa isporučujemo.

Zatraži projekat