Self-initiated concept · iOS · Social · 2026

DittoAdult friendships stall because nobody wants to ask first.

Ditto is an iOS app for turning people you almost know into friends. You privately mark a plan you’d be up for. If they mark it too, you both find out at once. If not, nobody ever knows.

Five Ditto screens: Home, the private yes, the mutual reveal, the plan review and the confirmed plan
Role
Product designer (solo): research, IA, interaction, visual, prototype
Timeline
6 weeks · Concept
Methods
Desk research, interviews, 2-week diary study, expert interview, within-subjects test, usability retest
Platform
iOS
01

Overview

Most people have plenty of contacts. What they lack is a safe way to make the first move.

Ditto is for the people you almost know: the coworker you click with, the friend-of-a-friend you always end up talking to. You privately mark that you'd be up for a specific plan, like coffee with Maya. If Maya never marks the same plan, nobody finds out. If she does, you both see it at the same moment, and the app helps you turn it into a plan.

Ditto doesn't find you new people. It removes the step that stalls most adult friendships: asking first.

In a within-subjects test, 7 of 8 people suggested coffee to a new coworker with Ditto, against 3 of 8 by text. With close friends, text still won.

02

The problem

−73%

Daily in-person time with friends for 15–24 year olds, from about 150 minutes in 2003 to 40 in 2020.

U.S. Surgeon General, 2023
3% → 12%

Share of Americans who say they have no close friends, 1990 vs. 2021.

Survey Center on American Life, 2021
25%

U.S. men aged 15–34 who felt lonely “a lot of the day” yesterday, against an 18% national average.

Gallup, 2023–24
~200 hrs

Time together it takes to turn an acquaintance into a close friend. About 50 hours gets you to casual friend.

Hall, 2018

The people you could spend those hours with are mostly already around you, and even light contact with acquaintances lifts belonging (Sandstrom & Dunn, 2014). Yet every major friend app starts by showing you more strangers. The gap sits between “we should hang out” and a date on the calendar, and social psychology explains why it holds:

  • The liking gap. After a conversation, people underestimate how much the other person liked them (Boothby et al., 2018).
  • Reaching out is undervalued. Across 13 experiments, people underestimated how much a message would be appreciated (Liu et al., 2022).
  • People misjudge who wants to talk. Commuters expected to prefer sitting alone, but enjoyed talking more (Epley & Schroeder, 2014).

Put two people with these biases together and neither asks. It is a coordination failure, not a lack of interest.

Diagram: Alex and Maya would each say yes, each assumes the other is less keen, and neither asks

How might I make starting real-world plans with people you already know feel as low-stakes as liking their post?

03

Research

Would people rather just get a direct invitation?

Study plan
HypothesisA visible no, not lack of interest, stops people. With acquaintances, a mutual signal beats a direct text.
ObjectiveFind where “we should hang out” stalls, then test whether Ditto turns more of it into plans than texting.
Generative method6 interviews, a 2-week diary study of every “we should hang out” moment and what followed, 1 expert interview
Evaluative methodWithin-subjects test (n = 8), direct text vs. Ditto, then a round of 5 after fixes
Participants22–30, in a transition; one privacy-anxious, one VoiceOver user. Expert: a newcomers’ club organiser.
Non-objectivesMeeting strangers, dating, group plans

The diary captured behaviour as it happened, not as people remembered it.

What earlier products taught

The mutual reveal isn't new. Four products show where it breaks.

Facebook Dating · 2019

Secret Crush

What happened
Revealed only if both listed each other, and told people “someone” had a crush.
What I took
The mechanic works on a real social graph, but people now read it as romance.
Bang With Friends → Down · 2013

Mutual opt-in, built for hookups

What happened
Pulled from the App Store, renamed Down, and never shed the association.
What I took
Naming and tone decide whether the same reveal feels kind or predatory.
Down to Lunch · 2015

Broadcast availability

What happened
“Down for lunch” went to every friend. It hit #1 in social in 2016 and was gone by 2018.
What I took
Being available to everyone isn't the same as being wanted by someone.
Instagram Map · 2025

Opt-in that didn't feel opt-in

What happened
Off by default, yet users who saw themselves on it felt exposed.
What I took
Privacy that only lives in settings isn't enough. Each screen has to show it.

From notes to themes

I wrote one observation per sticky, one colour per person, and sorted them by hand first, then ran a cluster pass over the sort.

42 sticky notes in seven columns, one per participant, each marked DID or SAID
1. Raw notes. 42 observations from 7 sessions.
The same notes sorted into 11 groups, each named as a finding
2. Sorted by hand. 11 findings, named as sentences.
The 11 findings merged into 4 themes, with the notes behind each
3. Cluster pass. A keyword pass over the sort gave 4 themes.

What I found

Behaviour

Both people want it, and neither asks first

Evidence
Diary participants logged 39 “we should hang out” moments in 2 weeks. 7 became plans. “Everyone says ‘we should’. Nobody owns the next step.”
So
The product has to take the first ask off both people at once.
Motivation

A no from someone you'll see again costs the most

Evidence
“A no from a coworker is worse than a no from a stranger. I see them Monday.” 3 of 7 held back from asking someone they'd see again.
So
One-sided interest must look exactly like no interest, and it expires without a trace.
Need

Privacy has to be visible on the screen

Evidence
“How do I know Maya can't see it? Show me what her screen looks like.” 2 of 7 stopped to ask who would be told before tapping.
So
State who can see what next to every button that changes it.
Against the concept

With close friends, a direct text wins

Evidence
“For my close friends this is pointless. I'd just call them.” 3 of 6 said so unprompted. One participant, and both club members shown it, read the reveal as dating.
So
Ditto is for acquaintances only, and it has to read as a plan, not a crush.
Journey map in seven stages from sign-up to reflection, with the low point at private interest, where silence could feel like being ignored

What the design does about it

  • Nobody asks first → a private “I'm up for it” that's revealed only when mutual.
  • Silence reads as a no → no pending states, and interest lapses quietly.
  • Reads as dating → match on person + activity, and show the activity first.
  • Plans stall after yes → a match goes straight to picking a time and place, chosen by you.
  • VoiceOver missed the reveal → it is announced and marked with a haptic.
04

Defining the opportunity

Proto-persona: Alex, late 20s, in a new neighbourhood, with the job to be done, what Alex wants and what gets in the way

A deliberately narrow audience

Young adults, 22–30, in a transition, rebuilding friend groups from loose ties. Not close friends, who just text, and not strangers, who need different safety tooling.

Job to be done: “Help me spend more time with people I already like, without the first invitation feeling like a big deal.”

An invitation is easy when you already know the answer.

Who

People you already know, not strangers

Why not strangers
It adds verification and moderation, and the liking gap is about people you've actually met.
How

Mutual reveal, not a better invite

Why not a better invite
Templates make asking faster, not less risky. The fear of a no stays.
What

Person + activity, not either alone

Why not one
Activity alone causes accidental matches. Person alone sounds like a crush.
05

Information architecture and flows

Sitemap: Home, Plans, People and Discover tabs, the profile behind the avatar, and six focused flows that open in context

Four tabs. Everything else opens as a focused flow or sheet.

  • Home: the one next step, then upcoming plans. Not a feed.
  • Plans: needs a response, upcoming and past.
  • People: connections and requests. Both people have to accept; nothing is imported.
  • Discover: activity ideas, and where you privately choose who you'd do them with.
Nine-step flow in three lanes showing what Alex, Ditto and Maya each do, with the reveal shared by both people at once
Sign up → connect → private interest → reveal (or nothing) → propose → accept → meet → reflect

The rule everything else depends on

Interest from one side must look exactly the same as no interest at all. Any hint lets someone piece together a rejection.

  • No “someone's interested” teaser, unlike Secret Crush.
  • No pending states. Maya's view of you is identical whether or not you picked her.
  • Interest expires quietly after 14 days, with no notification.
  • No probing. Adding and removing interest is rate-limited.
  • Blocking removes everything, in both directions, without telling anyone.
06

Exploration and iteration

Concept A wireframe: a toggle that tells all 24 connections you are free on Saturday
A. Broadcast. “I'm free Saturday” to everyone.
Concept B wireframe: an invite to Maya built from a suggested idea and time, sent straight away
B. Just text them. A direct invite, made quicker.
Concept C: the private confirmation, Coffee with Maya, seen by no one unless Maya picks it too
C. Mutual reveal. Private interest, shown only if mutual.

All 6 interview participants dropped A in early walkthroughs: silence after a broadcast hurt more. That left B against C.

The test. 8 new participants tried both a direct text invite (control) and a Ditto prototype, half starting with each to reduce order effects. Four tasks, scored for ease (SEQ, 1–7) and unaided completion. The key comprehension check: “Who can see your interest right now?”

Slope chart of ease rising from a mean of 3.3 with a direct text to 5.6 with Ditto for 8 participants, beside paired bars for unaided completion on four tasks
Mean ease rose from 3.3 to 5.6 (Wilcoxon signed-rank, p = 0.016). One participant rated both a 5.
TaskDirect textDittoWhat I saw
Suggest coffee to a new coworker3 / 87 / 85 typed a text, then deleted it
Suggest a plan to a close friend8 / 86 / 8Text won. “Why wait for a match with my best friend?”
Say who can see your interest now8 / 87 / 8One read “Saved” as “Sent” and thought Maya had been told.
Turn a yes into a time and place4 / 87 / 8Half the text threads ended without a time

The answer is split. For close friends, people would rather get a direct invitation. For acquaintances, Ditto more than doubled how many made the first move. I scoped Ditto to them and added a plain “Just text them” for close connections.

What changed between rounds

What I sawWhat I changedNext round (n = 5)
1 of 8 thought Maya was notifiedSaved state now says “Nothing has been sent to Maya”5 of 5 answered the comprehension check correctly
2 of 8 called the reveal “a match”The activity leads the reveal; no dating words anywhere0 of 5 used dating words
VoiceOver read nothing during the revealSpoken announcement plus a single hapticThe VoiceOver user heard the match and made a plan

Words that don’t sound like dating

The confirmation sheet over the connection list, with the button I’m up for it
“I’m up for it”, in place of a like
The saved screen reading Saved, privately, with a note that nothing has been sent to Maya
“Nothing has been sent to Maya”
The reveal screen reading You’re both up for coffee
The plan comes first
Maya’s view of the proposal with Accept, Suggest another time and Decline, and a note that Alex just sees Not this time
A decline reads as “Not this time”
07

The final experience

Three moments carry the product: a yes nobody sees, the reveal when it's mutual, and a plan that follows straight away.

Private

A yes nobody sees

Picking Maya for coffee opens one sheet: “Coffee with Maya? Only you can see this unless Maya is interested too.” The next screen says it again: “Nothing has been sent to Maya.”

The Coffee with Maya confirmation sheet, beside the Saved, privately state with a note that nothing has been sent to Maya
What research showed
“A no from a coworker is worse than a no from a stranger. I see them Monday.” 2 of 7 stopped to ask who would be told before tapping.
What I designed
Interest from one side looks exactly like no interest: no pending state, no teaser, and it lapses quietly after 14 days. The promise sits by the button, even at 200% text size.
What testing showed
5 of 5 said correctly who could see their interest, after 1 of 8 in the first round read “Saved” as “Sent”.
Mutual

The overlap, not a match

When both people pick the same plan, two shapes drift together and the overlap shows what you'd both do: “You're both up for coffee.” The overlap became the logo and the loading state.

The reveal in three frames: two circles apart, the circles overlapping, and the shared plan appearing in the overlap
What research showed
Both people want to, and neither asks: 39 “we should hang out” moments in the diary study became 7 plans. But a mutual reveal can easily read as dating.
What I designed
A match on person and activity, with the activity first and no dating words anywhere. VoiceOver announces it with one haptic, and with Reduce Motion the shapes start overlapped.
What testing showed
7 of 8 suggested coffee to a new coworker, against 3 of 8 by text. After the rewrite, 0 of 5 used dating words.
Plan

From yes to a time and place

A match goes straight to choosing a time window, never sharing your calendar, and ends on “It's a plan.” Afterwards a private check-in asks three questions, and people are never rated.

The It’s a plan confirmation, beside the three-question private reflection
What research showed
“Everyone says ‘we should’. Nobody owns the next step.” In testing, half the text threads ended without a time.
What I designed
Propose a window, review it (“Sending makes this visible to Maya”), and let Maya accept, suggest another time or decline with equal weight. A decline only ever reads “Not this time”.
What testing showed
7 of 8 turned a yes into a time and place, against 4 of 8 by text.

Also in the product

  • Onboarding that explains privacy first, before asking for anything. Contact access is optional.
  • A home screen, not a feed: the one next step, upcoming plans, then it ends.
  • “Just text them” for close friends, where testing showed a direct text still wins.
  • Privacy one tap from your profile. Blocking removes everything both ways, without telling anyone.
  • No follower counts or popularity scores, anywhere.
08

Validation and outcomes

Ditto hasn't launched. The north star is confirmed plans: plans both people say happened, not time in the app.

Activation

New users who connect with one person and express a first interest.

Mutuality

Share of interests that become mutual. Suspiciously high may mean gaming.

Conversion

Mutual matches that become confirmed plans.

Quality

Post-plan comfort, “would do it again” and repeat plans.

Guardrails: unwanted-contact reports, blocks and perceived pressure.

Still open

  • Showing the other side. The privacy-anxious participant still wanted to see Maya's screen. A “What Maya sees” preview is next to test.
  • The expiry window. 14 days felt long to some, short to others.
  • Partners. One participant said a secret list would worry their partner.
09

Reflection and next steps

What participants taught me

  • Know where your product loses. A direct text beat Ditto with close friends. Admitting it sharpened the product.
  • The step after yes matters as much as the yes. The diary logged 39 moments and only 7 plans.
  • Wording decides what a mechanic means. The reveal read as dating until the activity came first.
  • Accessibility users find the moments that matter. The VoiceOver user found a silent reveal nobody else noticed.

What's next

  • Cold start. Invite a specific person (“Maya isn't here yet”) without revealing your interest.
  • Groups. When does a reveal happen across three people, and what does it give away about who didn't opt in?

Sources

12
  1. U.S. Surgeon General. Our Epidemic of Loneliness and Isolation, 2023. Coverage
  2. Survey Center on American Life. The State of American Friendship, 2021. Coverage
  3. Gallup. “Younger Men in the U.S. Among the Loneliest in West,” 2025. Link
  4. Hall, J. A. “How many hours does it take to make a friend?” Journal of Social and Personal Relationships, 2018. Summary
  5. Sandstrom, G. M. & Dunn, E. W. “Social Interactions and Well-Being: The Surprising Power of Weak Ties.” PSPB, 2014. Link
  6. Boothby, E. J., Cooney, G., Sandstrom, G. M. & Clark, M. S. “The Liking Gap in Conversations.” Psychological Science, 2018. PDF
  7. Liu, P. J., Rim, S., Min, L. & Min, K. E. “The Surprise of Reaching Out: Appreciated More Than We Think.” JPSP, 2022. Link
  8. Epley, N. & Schroeder, J. “Mistakenly Seeking Solitude.” JEP: General, 2014. PDF
  9. Facebook Dating “Secret Crush,” 2019. Coverage
  10. “Bang With Friends rebrands as Down,” 2013. Link
  11. Down to Lunch. Coverage
  12. Instagram Map launch and response, August 2025. Coverage