qurb.Application design · v1.0
Interface specification

The room,
made legible.

Qurb's product is not a feed. It is a live read of the people around you and what they came to do. Every screen below exists to move one person from standing in a room to sitting across from the right person, without either of them giving up their location.

8 mobile screens 1 venue console Arabic-first, bilingual Dark, single-hand
Presence field · Nabt Coffee, Olaya
You Present, no open intent Open intent, reciprocal match
Core flow

Six stages, four minutes

The sequence is numbered because the order carries the product's whole argument: consent comes before identity, and the machine does its work in the open where the user can correct it.

Stage 01

Arrive

Presence resolves to a venue, never to a coordinate. The first screen answers one question: is it worth opening this app right now?

trigger BLE beacon or geofence
sent venue_token, ttl 90min
never sent lat, lng, trail
empty state prompt to add venue
9:41▮▮▮ ◍ ▰

Nabt Coffee

OLAYA · RIYADH
YOU'RE HERE
23
people here now
9 open intents 4 investors
Busiest in this room
Logistics & supply chain7
Fintech5
Capital & investment4

Your location stays on this device.
Qurb only knows you're somewhere in Nabt.

01 · Venue detected
Stage 02

Declare

The user writes one sentence. The model decomposes it into a structured vector and shows its work, field by field, so a wrong read can be corrected in a tap rather than discovered three bad matches later.

input free text, ar / en
model intent-graph v1
output 6-field vector
latency budget 900ms
correction tap any field
9:42▮▮▮ ◍ ▰
What do you need today?
أبحث عن مستثمر ملائكي يستثمر في مرحلة ما قبل التأسيس، مجال الخدمات اللوجستية، تذكرة ٢٠٠ ألف ريال
Qurb read this as
objectiveraise_capital
sectorlogistics
stagepre_seed
ticketSAR 200,000
counterpartyangel_investor
urgencythis_quarter

Tap any field to correct it.

02 · Intent composer + live parse
Stage 03

Match

Ranked by reciprocity, not similarity. A match only surfaces when the model predicts both people gain — which is why the score is bilateral and shown as one number, not two.

retrieval dense + sparse filters
rerank reciprocity model
threshold 0.62 to surface
pool same venue_token only
cap 5 shown, refreshed hourly
9:43▮▮▮ ◍ ▰

3 people worth meeting

IN NABT · RIGHT NOW
↻ 09:43
LA
Layla A.
ANGEL · EX-OPERATOR, LOGISTICS
0.91
RECIP

Writes SAR 150k–300k cheques. Told Qurb she's looking for pre-seed logistics this quarter.

OT
Omar T.
PRINCIPAL · SEED FUND
0.74
RECIP

Fund writes larger tickets, but scouts pre-seed and has two logistics companies.

RK
Reem K.
FOUNDER · FREIGHT SAAS, SERIES A
0.68
RECIP

Not an investor. Raised the round you're raising, 18 months ago, in this sector.

None of them can see you yet.

03 · Ranked by reciprocity
Stage 04

Consent

The gate. Full names, photos and employers stay hidden until both people say yes. A decline is silent — the other person is never told they were passed over, and the signal trains the ranker anyway.

reveal on mutual accept only
decline silent, no notification
expiry request dies with venue_token
brief grounded, public sources
abuse report → review in 4h
9:44▮▮▮ ◍ ▰
LA
Layla A.
ANGEL INVESTOR · VERIFIED
Why Qurb matched you
sectorlogistics ↔ logistics
stagepre_seed ↔ pre_seed
ticket200k ∈ 150k–300k
timingboth: this_quarter
Your 30-second brief

Operator turned angel. Ran fulfilment at a regional 3PL for six years before investing. Prefers founders who can talk unit cost per drop.

Openers
"What's the cost-per-drop number you're underwriting these days?"
"You ran fulfilment before investing — what breaks first at our stage?"

She sees your name only if she accepts too.

04 · Double opt-in
Stage 05

Meet

The hardest part of a proximity product is the last ten metres. Qurb names a place in the room rather than dropping a pin, because a pin in a café is noise.

rendezvous named landmark, not pin
chat opens on mutual accept
window 45min, then archives
safety public venues only
9:46▮▮▮ ◍ ▰
You're both in

Layla accepted 40 seconds ago.

Where to meet
Window bench, left of the counter

Two seats free. About 12 steps from you.

Chat · closes in 43 min
Grey jacket, laptop open. See you there.
On my way — two minutes.
05 · Connected
Stage 06

Follow up

The stage every networking product skips. Thirty seconds of speech becomes a structured record, a drafted message and a CRM row — and the outcome field is the label that trains tomorrow's ranker.

input voice memo, ≤ 2min
output record + draft + crm row
outcome user-labelled, optional
feedback outcome → ranker v2
10:31▮▮▮ ◍ ▰
After Layla A.
VOICE MEMO 0:34
Qurb turned this into
metLayla A. · angel
outcomefollow_up_agreed
next_stepsend deck + cost model
dueThu 30 Jul
Drafted for you

Layla — good to meet at Nabt. Sending the deck and the cost-per-drop breakdown you asked about. Happy to walk through the unit economics whenever suits.

06 · Memo → record → draft
10:33▮▮▮ ◍ ▰

Your network

42 MET · 11 THIS MONTH
FILTER
Where you met people
NABTKAFDLEAPHUB711MOTHER
LA
Layla A.
NABT COFFEE · 27 JUL

Follow-up agreed. Deck due Thu.

DUE
RK
Reem K.
LEAP RIYADH · 14 FEB

Intro'd you to her CFO. Closed.

Every outcome you log makes the next match better.

06b · Relationship history
Qurb for Venues · web console

What the venue buys

The B2B surface, and the reason a café pays monthly. It answers a question no footfall counter can: who was in my room, what did they come for, and what did they fail to find. Unmet intent is the column that renews the contract.

Nabt Coffee — Olaya

21–27 JULY 2026 · WEEKLY
This week Export
1,284
People present
▲ 8.2% vs last week
412
Intents declared
▲ 14.0%
137
Matches accepted
▲ 21.5%
33%
Accept rate
Target 30%
Who was in the room
Logistics & supply chain24%
Fintech & payments19%
Capital & investment16%
Consulting & advisory13%
Retail & F&B11%
Everything else17%
When matching happens
89101112 1416182022
Unmet intent — asked for, not found here
Senior backend engineers, hiring31 asks
Angel investors, pre-seed27 asks
Shariah-compliant financing advisers19 asks
Manufacturing & industrial ops14 asks
Arabic content & localisation11 asks
What to do with this

Thirty-one people came here looking to hire backend engineers and left without meeting one. A Tuesday-evening engineering meetup would fill a slow shift and close the gap. Qurb can invite the 31 for you.

AGGREGATED AND ANONYMISED · NO INDIVIDUAL RECORDS · NO RE-IDENTIFICATION PERMITTED UNDER VENUE TERMS · PDPL ART. 1
Design system

Tokens a developer can build from

Two accents, and each one means something. Green is reciprocity — it only appears where a match, a consent or a confirmed state exists. Amber is unmet demand, and it appears almost nowhere except the venue console, which is the point.

--void#070A08 · page
--panel#0E1512 · screen
--raise#16211C · card
--signal#00E070 · reciprocity
--amber#FFB000 · unmet demand
--bone#E8EFEA · primary text
--ash#7C8C85 · secondary
--edge#22322B · hairline
Type — human speech is set in the grotesque, machine structure in the mono
3 people worth meetingDisplay · 700 · −0.04em
Window bench, left of the counterTitle · 700 · −0.025em
Writes SAR 150k–300k cheques this quarter.Body · 400 · 13px / 1.5
objective: raise_capitalData · mono · 10.5px
UNMET INTENTLabel · mono · 0.13em caps
أبحث عن مستثمر ملائكي في مرحلة ما قبل التأسيسArabic · RTL · +1px, 1.85 line
Rules that are not negotiable
01 Green never decorates. If it is green, something reciprocal happened.
02 No identity before mutual consent. No exceptions, no previews, no blur-reveals.
03 Every AI output shows its inputs. The parse is visible and correctable.
04 Never render a map with a person on it. Rooms and landmarks only.
05 One primary action per screen. The thumb should never have to choose.
06 Arabic is not a translation layer. It ships in the same sprint as English.