Opens in a new tab.

Prove You Know Me: A Friendship Quiz in Nine Squares

How Prove You Know Me uses TypeSafe to suggest quiz options, lets creators set the answers, and finds hangout ideas with both friends’ permission.

Building and teachingBy Ali Mustufa ShaikhPublished Updated 4 min read
Prove You Know Me artwork with nine illustrated food choices, a friendly blue robot and the line “You have nine squares.”

Prove You Know Me asks your friends to pick the squares that sound like you: the food you would reach for at midnight, your idea of a good weekend, or the places you would choose for a getaway. It borrows the nine-square grid from a CAPTCHA and turns it into a friendship quiz.

You choose the answers before sharing the challenge. Jev, TypeSafe’s AI model, suggests options and saves a guess of its own. When your friend plays, their score comes from the choices you confirmed.

Nine choices to start a conversation

The three themes are midnight cravings, perfect weekend and dream getaway. Each has 36 illustrated options, for 108 across the catalog. There’s vada pav, masala chai and matcha; reading and road trips; beaches and snowboarding.

Choose a theme and write a private clue of 20–300 characters about your tastes. Jev evaluates the options using that clue, and the app assembles nine suggestions. The illustrations come with the app, so labels and pictures stay consistent as the grid changes. The nine choices fit on a phone screen.

Before publishing, you can swap squares and select your real answers. The challenge gets a public link, with an optional username in the URL and sharing buttons for X and WhatsApp. A friend opens it, makes their selections and sees an overlap score with a reveal of what matched, what they missed and what they picked that you didn’t.

A result gives you something specific to talk about. It describes those nine choices, not the whole friendship.

Let the creator correct the suggestions

Jev is TypeSafe’s System One model: it evaluates application state using typed questions and returns structured judgments. Here, one request to the /v1/systemone API evaluates all 36 options in the chosen theme. For each option, a noul question estimates the probability (0–1) that the creator would choose it, while a score question rates its relevance to the clue on a 0–3 rubric. Code validates the responses, picks six options by preference and three remaining options by relevance, then shuffles the grid. For hangouts, after both people play each other’s quizzes and opt in, code filters activities against their budget, time and setting limits. Jev scores each remaining candidate for each person. The app keeps ideas scoring at least 2 on the 0–3 scale for both and ranks them first by the lower score.

If a suggestion feels wrong, you can replace it. If Jev thinks you like matcha and you don’t, leave that square unselected. You can correct the suggestion without arguing with a model or rewriting the clue until it agrees.

That correction carries through to scoring. Code compares your friend’s selections with your confirmed answers; the model doesn’t award the points. Jev’s saved guess appears afterwards as a secondary comparison. Its job is to help assemble the choices, while the person making the quiz decides which ones are true.

A plan both people can use

Your friend can send a challenge back. Once you have both played each other’s quizzes, you can each opt in to private hangout ideas. Playing a quiz by itself doesn’t enable them.

Each person supplies a budget, available time and a preferred setting, such as staying home or going out. Code checks an authored activity catalog against both sets of limits before Jev ranks the remaining options. An activity that exceeds either person’s budget or time is removed at that stage.

The activity descriptions and steps are already written. Jev assesses their fit for each person, and the app selects ideas that suit both. One person’s enthusiasm can’t outweigh a poor fit for the other. If no activity qualifies, the pair can adjust their preferences or constraints. A shared interest in food doesn’t make every dinner plan practical.

What “private” means here

The clue is hidden from friends and the public challenge, but it is sent to TypeSafe so Jev can evaluate the options. It does not stay on your device.

Hangout recommendations need separate permission from both people to use their planning preferences, private quiz descriptions and confirmed favourites. They don’t receive each other’s raw text. Either person can withdraw consent, which clears their planning input and the shared ideas.

There are no accounts. Private management links provide access to a challenge’s controls, and the Dashboard keeps those links on your device. Retain a copy if you want to manage the challenge from another device. Share the public quiz link with friends and keep the management link to yourself.

The app runs on Next.js and React, with PostgreSQL for storage and Render for hosting. TypeSafe evaluates preferences; the application handles scoring, constraints and permissions. Those rules still apply when a suggestion misses the mark.