Turning solo dining into social connection.
OpenSeat is a location-based social dining app that helps people replace the awkwardness of eating alone with a low-stakes, platonic moment of connection — one open seat at a time.
Designed by
Sohaib Kamran
- Role
- Product Designer
- Timeline
- 2-week sprint
- Tools
- Figma · Miro · Notion
- Type
- Personal project


Cities are full of people. Most of them are still eating alone.
In dense cities, people are surrounded by others — yet still feel isolated. Existing apps optimize for dating or professional networking. There's a gap for spontaneous, platonic, low-pressure socializing.
Eating alone can feel stigmatized — the "solo diner" — or simply boring. People weren't avoiding it because they disliked their own company; they were avoiding the social risk.
The opportunityRestaurants sit on unused inventory every night: empty seats at occupied tables. That's a natural, lightweight surface for connection — no new venue required.
Design brief, in one line
"Make it feel like pulling up a chair — not like signing up for something."
Not dating. Not networking. Just a seat, a stranger, and a shared table.

The unlock wasn't loneliness. It was fear of the awkward part.
To understand what actually stops people from connecting, I ran guerrilla interviews with 5 young professionals and 3 solo travelers.
8
Guerrilla interviews
Young professionals and solo travelers, sourced in the field rather than recruited — kept the answers unrehearsed.
0
People scared of strangers
Not one participant cited "meeting a stranger" as the blocker. The fear was entirely downstream of that moment.
2
Real fears, named repeatedly
Awkwardness and safety — in that order — surfaced across nearly every conversation.
People didn't want romance or a deep friendship — they wanted simple human presence during a meal.
Meet the New-in-Town Nomad.
Every decision downstream — from the vibe tags to the seat timer — was pressure-tested against this one person's Friday night.

Three jobs the product had to do well.
Everything in the flows below traces back to one of these three.
01 / Immediate
This is for right now
Not a plan for next week. No scheduling weeks ahead — seats appear and expire in real time.
02 / Effortless
Claiming feels quick and clear
First-come-first-served, one slide gesture, no back-and-forth negotiation to get a seat.
03 / Safe + un-awkward
Expectations set before anyone meets
Trust signals and social contracts are visible before two strangers ever sit down.
OpenSeat: broadcast the seat, not the date.
A location-based app where people can broadcast open seats at their table, and others can claim them instantly.
Immediacy
No scheduling weeks ahead — every table on the radar is happening tonight, right now.
Seat claiming
First-come-first-served creates simple, honest urgency — no messaging back and forth to confirm.
Vibe check
Preset "table moods" reduce ambiguity and pressure before anyone sits down.
Two roles, one shared table.
I mapped Host and Guest as separate flows, then designed the UI to minimize steps while increasing confidence at each one.
Host flow
- 01Check in at the restaurant
- 02Select number of available seats
- 03Set the table vibe
- 04Broadcast the table live
Guest flow
- 01Discover nearby tables on the Radar map
- 02View a Table Ticket — who's there, vibe, seats left
- 03Claim a seat
- 04Walk to the table



Designing for trust before anyone shows up.
First-come-first-served can feel risky. Two systems make the social contract explicit before two strangers ever meet.
Trust Tier System
You can't claim a seat unless you're Verified — ID plus phone number, encrypted and never shared with other guests or restaurant staff.
Vibe Tags
Hosts define the atmosphere up front, so nobody guesses wrong about what kind of evening they're walking into.
What I actually designed.
Five moments carry most of the product's emotional weight — discovery, invitation, commitment, confirmation, and identity.

The Radar
A map-first discovery experience showing live tables nearby, with expiring timers ("14m left") to signal real-time intent.

Set the Table Vibe
Hosts choose the atmosphere before broadcasting — this is where the social contract gets written.

Slide-to-Claim → Lock
A slide gesture prevents accidental claims. Once claimed, the seat locks for 10 minutes — enough time to arrive, and the visible seat counter counts down.

The Table Ticket
A ticket-like detail screen that makes the offer feel official — a direct line to message the host, with the timer showing before the seat expires.

Trust + Safety Profile
Phone and government ID verification live front-and-center, with a clear line about how that data is (and isn't) shared.

From lock to arrival
Confirmation, Beacon Mode, and the trust profile — the three screens that carry a guest from "claimed" to "at the table."
Beacon Mode.
In a crowded restaurant, "finding the right person" is often the most awkward ten seconds of the whole evening. Beacon Mode turns it into something almost playful.
Within ~10 meters of each other, both phones flash the same bright color. No waving. No scanning faces. No texting "I'm by the window." Just hold up your phone and look for the color.
A mark that tells the whole story.
The logo is the thesis of the product compressed into one icon: a chair, mid-broadcast.

Chair + signal = the whole pitch.
The chair depicts the seat being reserved — the literal unit of value in the product. The signal waves radiating off it depict that seat's live connection to other people nearby: it's not just an empty chair, it's an open one, actively broadcasting.
I set it on a warm, saturated orange field rather than the app's usual soft cream — the logo needed to read instantly at icon size, where the cream palette goes flat. Everywhere else in the product, that same orange is used sparingly, as a call to action rather than a background.
Broadcast Coral
#F0603F
Warm Cream
#FBF2E6
Vibe Sage
#71916F
Timer Mustard
#E0A23A
Ink
#2B2018
Font used
Aa Table Ticket
Manrope: a warm sans serif for headlines and body gives the interface an inviting, menu-like character instead of a corporate one.
What worked, and what's next.
A two-week sprint is enough to prove a direction, not enough to close every gap.
What worked well
- The Vibe Tag system tested well because it removes the pressure to "perform socially" — expectations are set before anyone sits down.
What I'd improve in v2
The flake problem: introduce a Karma Score — no-shows reduce a user's ability to claim future seats.
Bill splitting: currently assumes separate checks; an easy split flow would smooth the exit experience.
