Icebreaker
Jake



Platform: Conversational AI / Dating App (Concept)

Context: Solo design exploration - Persona architecture, system prompt orchestration, and model steering

Tools: OpenAI Playground (System prompt iteration & parameter testing), Figma (screen mockups), Whimsical (flow design)

References: CDI Foundations coursework; screenwriting dialogue principles



I met my husband on a dating website. He replied to my photo-less, hesitant outreach and here we are - married, with a kid, still in love.

When word got out, friends started asking what the secret was. I realized there wasn't one. You just had to start the conversation. "That's the hardest part!" was the universal response.

That got me thinking about what it would look like to have a personal wingman in your pocket. Not something that writes your messages for you, but something that helps you find your voice and take the leap.




    The Flow (Brief)




    Prompt Iteration


    I ran three rounds of iteration on each tone branch using OpenAI Playground. The same user message ('Give me 3 opener suggestions for someone on a dating app. Tone: Funny/Curious/Compliment') was sent each time, only the system prompt changed.

    This is what I learned:



    Design Insight:
    The shift from V1 to V3 proved that instruction-based generation is deeply dependent on persona initialization. By defining a specific role and relationship context ('Be their ultimate cheerleader'), the model's output register shifted from a cold completion engine to an aligned agentic partner."



    Design Insight: 'Oddly specific' was the key phrase in V3. Generic curiosity ('what do you like?') produces generic outputs. Injecting behavioral guardrails like 'oddly specific' into the system prompt effectively constrained the model’s semantic space. This instruction-level precision forced the model to bypass generic token predictions, resulting in highly contextual, unique outputs rather than templated conversational fillers.



    Design Insight: the Compliment outputs uniquely suffered from sounding like they came from a stranger observing the user, rather than someone actually drawn to them. The fix wasn't just adding warmth; it was adding direction of interest (toward the other person, not just about their profile). Early iterations of the 'Compliment' branch suffered from an uncanny, detached perspective. The structural fix required tuning the model's intent orientation. By rewriting the instruction to shift from passive profile observation to active interpersonal invitation, the output felt authentic rather than automated.


    The Dialogue

    The utterances the system speaks matter as much as the suggestions it generates. These are the key nodes.

    Opening node - all branches



    No path - the system closes the loop


    When the user doesn't want more suggestions, the closing line matters. It has to land confidence, not just end the exchange.




    Reflection


    The most useful thing I learned from this project isn't about dating apps. It's about the system prompt as a design material.

    The flow is deliberately simple, three branches, two paths each, because the constraint was the point. The Figma mockups show what the UI could look like. The core takeaway from this exploration is that the system prompt is a core design material. Defining an agent's behavior isn't just about setting output constraints; it's about programming the relational logic between the computer and the human user.




    What I'd do next

    • Test whether users perceive the three tones as meaningfully distinct, or whether the distinction is more visible to the designer than the user
    • Design a fallback path for when the user ignores Jake's suggestion and types their own message. The system should respond to that gracefully, not just loop
    • Explore whether personalization (pulling from the match's profile) improves perceived authenticity, or whether it makes users feel surveilled rather than supported




    Back to Projects



    © Laura Bray 2026