Title: That's My Best — MidnightDev
URL: https://midnightdev.dev/work/thatsmybest
Description: Screenshots in. A playable social memory test out.
Generated from the live page on 2026-10-22. Do not edit by hand; run `pnpm twins`.

---

case study

# That's My Best

Screenshots in. A playable social memory test out.

[visit site](https://thatsmybest.com/) · thatsmybest.com

The authority boundary behind all of this work is stated once, in [the model cannot own the money](https://midnightdev.dev/writing/the-model-cannot-own-the-money.md). This page covers what is specific to That's My Best.

![That's My Best converting an uploaded photo-grid screenshot into a multiple-choice quiz about which friend picked which photo.](https://midnightdev.dev/screenshots/thatsmybest.png)

01 the problem

A screenshot contains visual evidence, but a model can still invent context, misread a tile, or turn an observation into mind-reading. The product also has to make quiz creation fast enough for a friend to finish, share, and pull other people into the loop.

02 the solution

Built a mobile-first web and iOS flow that ingests one to four social-grid screenshots, selects candidate tiles, and generates questions and answer-specific reactions. On the free default path the model's own guess becomes the answer key at seal time; per-question correction ships as a paid upgrade, not a required step. So the guardrails are code, not a review queue: no answers in the player payload, reveal only after a valid pick, an immutable seal, and scores only for players who actually played.

03 decisions & tradeoffs

### Invariants over a required review step

A human review step is worth building, but it is not what a system can rely on — the fastest path through any product is the one that skips it. Correction ships as a paid override; the invariants run either way.

### Web links and an iOS app

Creation benefits from an app-like surface; participation must remain one tap away for friends who will not install anything first.

### Objective visual memory over personality judgment

The funny part should come from what is actually visible in the screenshots, not invented claims about a person's looks, intelligence, or inner life.

### Group reveal over constant notifications

Named players create anticipation, while a timed fallback prevents one missing friend from holding the entire experience hostage.

04 tech stack

### Multimodal generation

Reads uploaded photo grids and proposes visually grounded quiz questions.

### Machine-checkable invariants

Bound what a wrong guess can reach: no answers in the player payload, reveal only after a valid pick, an immutable seal.

### Serverless product loop

Generation, publishing, attempts, reactions, group reveal, and share assets.

### Capacitor + App Store

The live iOS app opens directly into the creation flow while web links preserve frictionless sharing.

05 results

- Live on the web and in the Apple App Store
- Invariants hold on every quiz, whether or not a human touched the answer key
- Answer-specific reactions, named friends, and timed group reveals create the social loop
- Early soft-launch generation cost measured at roughly 6–7¢ per completed quiz

Next step

## Want something like this?

Book a 30-minute call. I will tell you plainly whether I can help and what I would test first.

[Book a call](https://calendly.com/alex-midnightdev/30min?utm_source=midnightdev&utm_medium=site&utm_campaign=case-thatsmybest) [or email alex@midnightdev.dev](mailto:alex@midnightdev.dev)
