Skip to case study
← Back to the machine

Independent product exploration

Ditto: Cue

Ditto, but make it Single’s Inferno?

The concept trailer.

My first vibe-coding project: a group-date concept inspired by dating shows, built into a working prototype.

Project
Independent concept · My first AI-assisted coding project
Tools
Figma for mockups · AI-assisted coding for the prototype · After Effects and Premiere Pro for the trailer
Status
Working prototype with fictional participants.

The project at a glance

Problem
A match and a date plan still leave people to get past the awkward first moments on their own.
Solution
A four-person date with Ditto as the behind-the-scenes producer: using private check-ins to guide the next activity, switch pairings, and make room for a connection.
What I learned
“Spicy, but not cringy” made sense in my head. To get useful date tasks from AI, I had to turn those words into specific choices about timing, teamwork, and how much flirting to ask for.

Problem & pain points

Ditto finds people a match and plans their date. I liked that it took care of the logistics, but I kept wondering about the part after that: you arrive, sit down, and now you have to get to know a stranger.

What if Ditto acted like a dating-show producer—checking in on how the date is going, then giving people a little push when there’s room for chemistry?

How do we break the ice?

Having a restaurant booked is helpful. It doesn’t make the first conversation any less awkward.

What if this pairing doesn’t click?

Someone can look compatible on paper and feel different in person. I wanted people to have room to discover a connection.

Solution: a guided group date

With Cue, four people meet for a shared date. Short, private pop-up check-ins tell Ditto who each person is curious about and how they’re feeling. The idea is to use those responses to shape what comes next: a partner switch, a shared challenge, or a little more one-on-one time.

I called it Cue because it gives people a little nudge, like a producer setting up a moment on a dating show. It creates the opening; the people make the connection.

Concept artwork of four beach chairs arranged around a table
Four seats, one shared plan.
  1. Meet as a group
  2. Spend time in pairs
  3. Choose privately

Prototype: two moments on the date

The prototype follows the group from their invitations to the end of the date. Here are two moments that show the idea in action.

A couple-photo challenge to break the ice

Take a photo that looks like you’ve been dating for six months. You have eight minutes. Planning the pose and helping each other pull it off gives the pair a playful way to build rapport, without having to force a flirty conversation.

Ditto introduces new pairs and an eight-minute couple-photo challenge
New pairs receive the photo challenge through Ditto.

So, who would you see again?

Private check-ins throughout the date help Ditto understand who’s interested in whom and where another shared moment might help. At the end, everyone chooses one name or “no one.” Everyone can change their choice until midnight, when only mutual interest is revealed.

Ditto privately asks Jacob who he would like to see again
Jacob makes his choice privately in the chat.

Product decisions & tradeoffs

I kept coming back to what makes a dating show so fun to watch: meeting new people, wondering who likes whom, and waiting for the reveal. These four decisions were my way of bringing some of that into an actual date.

Four people

Four felt small enough for a shared conversation, with room to meet more than one potential match—and a little friendly competition between pairs during the activities.

The tradeoff Finding a time for four is harder, and someone could still feel left out.

Private planning

Each person sends their availability directly to Ditto. Contact details and social handles stay hidden before the group meets, so there’s less pre-date messaging to manage and more curiosity left for meeting in person.

The tradeoff People still need to know enough about the group and plan to feel comfortable saying yes.

Ditto as the producer

Private check-ins guide the next task. If someone wants to know another person better, Ditto could bring them together; if a pairing needs a nudge, it could introduce a teamwork challenge.

The tradeoff A check-in is only a small part of the picture. Ditto needs to leave room for people to skip a task or keep a good conversation going.

The midnight reveal

People can change their final choice until 12 a.m. That leaves time to replay the little moments, think about who surprised you, and wonder whether they felt it too. At midnight, Ditto reveals mutual interest only.

The tradeoff The wait adds anticipation, but it shouldn’t pressure anyone to choose. “No one” stays an option.

Challenge: the activities weren’t working

I asked AI for date tasks that were “spicy” and “not cringy.” Some of the results felt more like corporate icebreaking games. I was picturing a dating show; I was getting team-building day.

So I started researching dating shows and built a task library. I looked at what the activities actually asked people to do: cooperate, choose someone, switch partners, or spend time alone. Those were more useful instructions than just asking AI to make something “fun.”

Where I started

Ask AI for fun activities and hope they feel right.

What I changed

Research examples, build a task library, then use AI with that starting point.

When to use it

Pre-date, early, mid, late, multi-phase, or closing. The same task can feel very different before people have settled in and after they’ve spent time together.

What it should create

Each mechanic has an emotional objective, such as curiosity, trust, playful dependence, competition, or private intimacy, plus the interaction that’s meant to support it.

Who and where it fits

Pairing history, private signals, mutual eligibility, venue, equipment, time, and accessibility help determine whether a task fits this group at this moment.

What happens afterwards

Privacy and reveal rules define what people can see. Rewards or consequences connect one activity to a later moment, rather than making every task a separate icebreaker.

Curiosity Ping · Mid-date

A private message hints that someone wants to know you better. It needs a real interest signal; the library rules out inventing one or repeatedly favouring the same person.

Ten-Minute Side Conversation · Mid-date

A brief one-on-one window gives an underexplored pairing more time. Previous pairings, mutual curiosity, and each person’s willingness help determine who gets that time.

Turn the feeling into instructions

I thought showing AI a few tasks I liked would be enough. It wasn’t. “Make it spicy” could mean so many things. Did I want a little competition? An excuse to get closer? A moment where someone has to choose a partner? Once I started explaining those smaller details, I could see what was missing and ask for a specific change.

Testing & what I changed

Another thing I missed: “choose someone to follow” made sense to me, but confused people trying the prototype. Were they choosing a date? Playing a character? Making a decision they couldn’t undo?

I knew the flow so well that I’d skipped an explanation they actually needed. I split the opening into two stages so people could understand what they were about to see.

What confused people

“Choose someone to follow”

People could click, but didn’t know what choosing someone meant.

What I changed

Explain what happens first

  1. Watch Ditto form the group and plan the date.
  2. Experience the date through one participant’s phone.

Next, I’d ask someone new to explain whose phone they’re looking at. If they can’t, the opening still needs work.

Next steps & success measures

The prototype works, but I can’t call the date experience a success yet. The part I’m most curious about happens away from the screen: do people enjoy it?

The next test I’d run

I’d start with four willing participants, keep every activity optional, and watch what happens. Which prompts get people talking? Which ones get ignored? Afterwards, I’d ask each person privately what felt fun and what felt awkward.

I’d change or drop the awkward tasks before trying to compare Cue with other date formats.

What I would measure

  • Getting to the date: time from application to confirmation, invitation acceptance, and date completion.
  • Connecting: participation across pairings, private interest selections, and mutual matches per date.
  • How it felt: whether people felt included, whether the tasks helped or felt forced, and whether they’d do it again.

I’d also compare Cue with one-to-one and double dates. A higher match rate wouldn’t be enough on its own if people felt uncomfortable or overly directed.

Could venues be part of it?

Cafés, restaurants, or workshops could host these dates and get four-person bookings. I’d explore that after finding out whether people actually want to go on the dates.

What I learned

This was my first vibe-coding project, and I got pretty into it. A dating-show idea turned into Figma mockups, a working prototype, and a trailer I made in After Effects and Premiere Pro. I wanted people to feel the idea, not just read about it.

The task library was the part that changed how I work with AI. I couldn’t just type “make it less awkward” and expect it to know the scene in my head. I had to work out why an idea felt awkward, find a better reference, and explain what needed to change.

I’m really glad I kept going past the mockups. Watching someone try the prototype showed me things I’d completely missed while building it. Now I want to take the next step: try the activities with a real group and see which moments actually get people laughing and talking.