Yoromi Internal Overview · Beta 2026 · Riservato Internal Overview · Beta 2026 · Confidential
Roommate Matching · Beta 2026 · Riservato Roommate Matching · Beta 2026 · Confidential

Il roommate giusto, scelto dal modello. The right roommate, chosen by the model.

Una piattaforma per studenti e giovani professionisti: 16 segnali di compatibilità, score 0–100 sempre spiegabile, matching che evolve con la base utenti. A platform for students and young professionals: 16 compatibility signals, fully explainable 0–100 score, matching that evolves with the user base.

0–100 Score di compatibilità Compatibility score
16 Segnali lifestyle Lifestyle signals
4 Stadi evoluzione ML ML evolution stages
100% Match spiegabili Explainable matches
01 · Il problema The problem

La ricerca casa è rotta. House-hunting is broken.

Studenti e giovani professionisti trovano stanze tramite chat Telegram, gruppi Facebook e annunci ambigui. Il prezzo e la posizione sono filtri grezzi; la convivenza vera dipende da segnali che nessuno raccoglie in modo strutturato. Students and young professionals find rooms through Telegram chats, Facebook groups, ambiguous listings. Price and location are blunt filters; actual cohabitation depends on signals nobody collects in a structured way.

A

Annunci ciechi Blind listings

Foto generiche, descrizioni copiate, nessun segnale di chi vive realmente nella stanza accanto. La scelta diventa una scommessa. Stock photos, copy-pasted descriptions, no signal about who actually lives in the next room. The choice becomes a gamble.

B

Mismatch invisibili Invisible mismatches

Orari, pulizia, rumore, ospiti: le incompatibilità emergono dopo aver firmato. I costi di switching sono pagati dal nuovo coinquilino. Schedules, cleanliness, noise, guests: incompatibilities surface after signing. Switching costs are paid by the new tenant.

C

Nessuno spiega perché No one explains why

Le piattaforme esistenti mostrano risultati ordinati per prezzo. Non spiegano la compatibilità reale, perché non la misurano. Existing platforms show results sorted by price. They don't explain real compatibility, because they don't measure it.

02 · Cosa offre Yoromi What Yoromi offers

Due lati, una piattaforma. Two sides, one platform.

Yoromi serve due ruoli sulla stessa esperienza. La compatibilità si misura in entrambe le direzioni: chi cerca una stanza e chi la offre vedono il proprio score, le proprie ragioni, i propri filtri. Yoromi serves two roles on the same experience. Compatibility is measured in both directions: the seeker and the host each see their score, their reasons, their filters.

Per chi cerca casa For seekers

Trova chi ti somiglia Find who fits you

Profilo di compatibilità in pochi minuti. Match con score 0–100 e top-3 motivi sempre visibili. Niente scommesse, niente sorprese. Build your compatibility profile in minutes. Each match comes with a 0–100 score and top-3 reasons always in plain sight. No gambles, no surprises.

  • Profilo lifestyle in pochi minuti Lifestyle profile in minutes
  • Match ordinati per compatibilità reale, non solo prezzo Matches sorted by real compatibility, not just price
  • Filtri intelligenti: budget, zona, vincoli hard Smart filters: budget, area, hard constraints
  • Chat diretta con candidati pre-filtrati Direct chat with pre-filtered candidates
Per chi affitta una stanza For hosts

Convivenza giusta dal giorno uno Right cohabitation, day one

Pubblica una stanza in pochi step. Ricevi solo richieste di chi ha già un punteggio di compatibilità con te. Meno tempo perso, meno turnover. Publish a room in a few steps. Get requests only from candidates who already score high with you. Less wasted time, less turnover.

  • Pubblicazione stanza guidata, con foto e regole Guided room publishing, with photos and house rules
  • Richieste pre-filtrate per score di compatibilità Requests pre-filtered by compatibility score
  • Meno mismatch, meno turnover del coinquilino Fewer mismatches, less roommate turnover
  • Spiegazione del match anche dal tuo punto di vista Match explanation from your point of view too
03 · Il prodotto The product

Come funziona il matching. How matching works.

Uno score deterministico, una formula leggibile, una spiegazione che ogni utente può capire. Dal primo utente, nessun rischio ML. A deterministic score, a readable formula, an explanation any user can grasp. From the first user, zero ML risk.

Weighted Compatibility Score · Day Zero Weighted Compatibility Score · Day Zero
score = 100 × ( 0.85 × Lifestyle + 0.15 × Interests )
85% lifestyle (sonno · pulizia · budget · rumore · studio · lingue) · 15% interessi condivisi (Jaccard) 85% lifestyle (sleep · cleanliness · budget · noise · study · languages) · 15% shared interests (Jaccard)
Sleep0.20 Budget0.18 Clean0.16 Noise0.14 Study0.10 Languages0.07 +10 altri+10 more0.15

Anna ↔ Marco

Esempio · breakdown segnale per segnale Example · signal-by-signal breakdown
Orario sonno Sleep time
23:00 → 23:30
0.97
Budget
€700 ≥ €650
1.00
Pulizia Cleanliness
4 → 4
1.00
Tolleranza rumore Noise tolerance
3 → 3
1.00
Interessi (Jaccard) Interests (Jaccard)
{veggie} / 8
0.125
Score finale Final score
84/100
Top-3 motivi · mostrati all'utente Top-3 reasons · shown to user
  • Orari di sonno compatibili Sleep schedule match
  • Budget allineato Budget compatible
  • Standard di pulizia identici Cleanliness aligned
04 · Funzionalità principali Main features

Cosa puoi fare con Yoromi. What you can do with Yoromi.

Otto funzionalità chiave coprono l'intero ciclo: dal primo profilo alla convivenza. Tutto disegnato per ridurre il tempo perso e l'incertezza. Eight core features cover the full cycle: from first profile to actual cohabitation. All designed to cut wasted time and uncertainty.

01

Profilo di compatibilità Compatibility profile

16 segnali lifestyle in pochi minuti: sonno, pulizia, budget, rumore, studio, lingue e altri. 16 lifestyle signals in minutes: sleep, cleanliness, budget, noise, study, languages and more.

02

Match con score 0–100 Match with 0–100 score

Algoritmo deterministico al Day Zero. Nessuna scatola nera, nessun risultato arbitrario. Deterministic algorithm on Day Zero. No black box, no arbitrary results.

03

Top-3 motivi sempre visibili Top-3 reasons always shown

Ogni match arriva con la spiegazione: perché siete compatibili, dove non lo siete. Every match ships with an explanation: where you fit, where you don't.

04

Chat in tempo reale Real-time chat

Conversazioni con stato di presenza, indicatore di scrittura, notifiche push. Conversations with presence status, typing indicator, push notifications.

05

Annunci stanza guidati Guided room listings

Pubblica una stanza con foto, regole di casa, vincoli hard. Ricevi richieste pre-filtrate. Publish a room with photos, house rules, hard constraints. Get pre-filtered requests.

06

Filtri intelligenti Smart filters

Budget, zona, vincoli (animali, fumo, ospiti), lingue. Salvi i tuoi e ricevi notifiche. Budget, area, constraints (pets, smoking, guests), languages. Save filters, get notified.

07

App installabile Installable app

Funziona come app nativa sul telefono. Niente app store, niente attese di approvazione. Works as a native app on your phone. No app stores, no approval waits.

08

Esperienza IT / EN IT / EN experience

Multilingua nativo dal primo giorno. Apri al mercato italiano e a quello internazionale. Native multilingual from day one. Open to Italian and international markets.

05 · Evoluzione ML ML evolution

Quattro stadi di intelligenza. Four stages of intelligence.

Stage 1 va in produzione oggi con zero rischio ML. Ogni stadio successivo si attiva solo quando i dati e le metriche lo giustificano. Capital-efficient by design. Stage 1 ships today with zero ML risk. Each subsequent stage activates only when data and metrics justify it. Capital-efficient by design.

1
Day Zero

WCS — Hand-crafted WCS — Hand-crafted

Formula pesata, zero training. Modello deterministico, completamente spiegabile. Weighted formula, zero training. Deterministic model, fully explainable.

  • 100% spiegabile 100% explainable
  • Nessun training No training needed
  • Score 0–100
2
~1,000 users

WCS appreso (Logistic Regression) Learned WCS (Logistic Regression)

Stessa formula, pesi appresi dai segnali comportamentali (contatto, skip, chat). Same formula; weights learned from behavioral signals (contact, skip, chat).

  • Ancora spiegabile Still explainable
  • Retrain settimanale Weekly retraining
  • Weak labels Weak labels
3
~10,000 users

LightGBM Trees

500 alberi catturano interazioni non-lineari. SHAP per spiegabilità feature-level. 500 trees capture non-linear interactions. SHAP for feature-level explainability.

  • 500 trees
  • SHAP explainability
  • Retrain giornaliero Daily retraining
4
~100,000 users

Two-Tower Neural Net

Embedding neurali + cosine similarity. Bio testuale via Sentence-BERT. Neural embeddings + cosine similarity. Text bio via Sentence-BERT.

  • Embedding 32-dim 32-dim embeddings
  • <20ms latency
  • Bio testuale Text bio support
Data flywheel: ogni interazione utente diventa un segnale di training. Il modello migliora mentre la piattaforma cresce. Data flywheel: every user interaction becomes a training signal. The model improves as the platform grows.
06 · Stage 3 in dettaglio · LightGBM Stage 3 in detail · LightGBM

Come decide un albero.
Come decidono 500 alberi.
How one tree decides.
How 500 trees decide.

A 10.000 utenti, l'engine evolve in Gradient Boosted Trees. Ogni albero cattura un'interazione non-lineare; 500 alberi combinati raggiungono accuratezza e spiegabilità per feature. At 10,000 users, the engine evolves into Gradient Boosted Trees. Each tree captures one non-linear interaction; 500 trees combined reach accuracy with feature-level explainability.

Un albero · Anna ↔ Marco One tree · Anna ↔ Marco

Cammino evidenziato in arancione Path highlighted in orange

→ Anna + Marco atterrano sempre su +25 pts (questo albero) → Anna + Marco always land on +25 pts (this tree)

Gradient Boosting · 500 alberi sommano correzioni Gradient Boosting · 500 trees stack corrections

F₀ → F₅₀₀
F₀ 70
+8.2 78.2
+1.5 79.7
−0.4 79.3
+0.7 80.0
+3.5 83.5
··· ···
F₅₀₀ 87

Score finale Anna ↔ Marco con LightGBM: 87 / 100 Final Anna ↔ Marco score with LightGBM: 87 / 100

SHAP · spiegabilità feature-level SHAP · feature-level explainability

Top feature per Anna ↔ Marco Top features for Anna ↔ Marco
Contributo di ogni feature allo score finale Each feature's contribution to the final score
orario sonno sleep schedule
+12.4
budget budget fit
+9.1
pulizia cleanliness
+6.8
rumore noise
+4.5
07 · Stage 4 in dettaglio · Two-Tower Stage 4 in detail · Two-Tower

Embedding neurali.
Profili compressi in vettori.
Neural embeddings.
Profiles compressed into vectors.

A 100.000 utenti la latenza diventa il vincolo. Two-Tower comprime ogni profilo in un vettore di 32 dimensioni: il match diventa un semplice prodotto scalare. 12.500× più veloce della forza bruta. At 100,000 users, latency becomes the bottleneck. Two-Tower compresses each profile into a 32-dim vector: matching becomes a simple dot product. 12,500× faster than brute force.

SEEKER TOWER
  • sleep
  • budget
  • clean
  • noise
  • study
  • bio_text · Sentence-BERT
▼ 3 dense layers ▼ 3 dense layers
ea ∈ ℝ³²
Cosine similarity Cosine similarity
cos(ea, em) = ea · em ‖ea‖ · ‖em
Anna ↔ Marco
98/100
cos = 0.985
HOST TOWER
  • price
  • rules
  • schedule
  • space
  • lifestyle
  • desc_text · Sentence-BERT
▼ 3 dense layers ▼ 3 dense layers
em ∈ ℝ³²

Vettori quasi paralleli (cos = 0.985) → profili compatibili. Vectors nearly parallel (cos = 0.985) → compatible profiles.

Confronto velocità · matching su 100k utenti Speed comparison · matching across 100k users
Stage 3 · forza bruta Stage 3 · brute-force
250 s
Stage 4 · Two-Tower Stage 4 · Two-Tower
20 ms · 12.500× più velocefaster
08 · Roadmap 7 mesi 7-month roadmap

Da oggi a v1.0 entro dicembre 2026. From today to v1.0 by December 2026.

Tre fasi con gate di uscita verificabili. Ogni fase ha obiettivi numerici che decidono il passaggio alla successiva. Three phases with verifiable exit gates. Each phase has numeric goals that decide the move to the next.

v0.1 → v0.2

Fondamenta Foundations

Mese 1 · Giugno 2026 Month 1 · June 2026
  • Sicurezza dati Data security : protezione utente verificata end-to-end end-to-end user data protection verified
  • Match deterministico Deterministic match : regole chiare, testate sui casi limite clear rules, tested on edge cases
  • Esperienza coerente Consistent experience : caricamenti, errori, stati vuoti uniformi unified loading, error and empty states
  • Backup & restore Backup & restore : snapshot giornaliero + restore testato daily snapshot + tested restore
  • Design baseline Design baseline : colori, spaziature, tipografia consolidati colors, spacing, typography locked in
Gate di uscita Exit gate audit sicurezza passato
match engine: coverage ≥ 70%
tempo match < 200 ms
flow critico testato end-to-end
restore DB verificato
security audit passed
match engine: coverage ≥ 70%
match time < 200 ms
critical flow E2E tested
DB restore verified
v0.3 → v0.5

Funzionalità complete Full features

Mese 2–4 · Lug–Set 2026 Month 2–4 · Jul–Sep 2026
  • Notifiche Notifications : push web (PWA) + email per ogni evento web push (PWA) + email for every event
  • Pagamenti Payments : infrastruttura Stripe pronta in sandbox Stripe infrastructure ready in sandbox
  • Chat live Live chat : presenza, scrittura, notifiche istantanee presence, typing, instant notifications
  • Foto stanze Room photos : upload, resize, gallery upload, resize, gallery
  • Match v1.5 Match v1.5 : feedback utente (👍/👎) migliora i risultati user feedback (👍/👎) improves results
  • Multilingua & PWA Multilingual & PWA : IT/EN, app installabile rifinita IT/EN, installable app polished
Gate di uscita Exit gate pagamenti senza doppi
chat: msg p95 < 500 ms
app leggera < 250 KB
notifiche affidabili
payments no duplicates
chat: msg p95 < 500 ms
lightweight app < 250 KB
reliable notifications
v0.6 → v1.0

Pronto al pubblico Release-ready

Mese 5–7 · Ott–Dic 2026 Month 5–7 · Oct–Dec 2026
  • Ambienti separati Separate environments : dev / staging / produzione dev / staging / production
  • Protezione Protection : contro bot, attacchi, abusi against bots, attacks, abuse
  • Disaster recovery Disaster recovery : ripristino testato 2 volte recovery tested twice
  • Performance Performance : caricamento veloce su mobile fast loading on mobile
  • Accessibilità Accessibility : standard WCAG 2.1 AA WCAG 2.1 AA compliant
  • Documentazione Documentation : runbook, handover, ADR runbook, handover, ADR
Gate di uscita Exit gate API p95 < 300 ms
Lighthouse mobile ≥ 90
accessibilità: 0 violazioni
recovery testato 2×
API p95 < 300 ms
Lighthouse mobile ≥ 90
accessibility: 0 violations
recovery tested 2×
09 · Mercato & moat Market & moat

Mercato grande, incumbent zero. Big market, zero incumbents.

Mercato co-living Co-living market
80M+

Situazioni di shared-housing tra US e Italia. Co-living in crescita 15% YoY. Nessun player AI-first. Shared-housing situations in US + Italy. Co-living growing 15% YoY. No AI-first player owns the space.

Incumbent AI-first AI-first incumbents
0

Le piattaforme attuali filtrano per prezzo e location. Nessuna usa ML comportamentale per prevedere un match riuscito. Current platforms filter on price and location. None use behavioral ML to predict a successful match.

Moat data flywheel Data flywheel moat

Ogni chat, skip, scambio diventa segnale di training. Il motore si rafforza con la scala — moat che compound. Every chat, skip, contact exchange becomes a training signal. The engine compounds with scale — a moat that strengthens.

Rollback ML ML rollback
<1min

Stage 1 in produzione oggi con zero rischio ML. Ogni stadio successivo è feature-flag, reversibile, capital-efficient. Stage 1 in production today with zero ML risk. Every later stage is feature-flagged, reversible, capital-efficient.

10 · Tesi Thesis

Perché Yoromi, perché ora. Why Yoromi, why now.

01

Zero rischio ML al go-live Zero ML risk at go-live

Stage 1 è una formula deterministica. Funziona dal primo utente, senza training, completamente spiegabile. Ogni stadio successivo si attiva solo quando i dati lo giustificano. Stage 1 is a deterministic formula. It works from user one, no training, fully explainable. Every later stage activates only when data justifies it.

02

Data flywheel come moat Data flywheel as moat

Ogni chat, skip, scambio rinforza il modello. Più cresce la base utenti, più aumenta la qualità del match — barriera difficile da replicare per chi entra dopo. Every chat, skip and contact strengthens the model. The bigger the user base, the better the match quality — a barrier hard to replicate for later entrants.

03

v1.0 a dicembre 2026 v1.0 by December 2026

Roadmap a 7 mesi con KPI di uscita per ogni fase. Notifiche, pagamenti, chat live, accessibilità, performance. Pronto per scala reale. 7-month roadmap with exit KPIs per phase. Notifications, payments, live chat, accessibility, performance. Ready for real scale.