Isaac Mineo

In development · iOS & Web

Whereabouts

A daily mystery game: read the evidence, build a theory and prove what happened.

For Players who like a daily puzzle, and want to be asked for proof rather than a lucky guess.

Visit Whereabouts (opens in a new tab)Read the source notes

iOS / Web · Notes reviewed 20 September 2026

Whereabouts case file for The Gallery Key showing three people and their statements, each with an attach-to-proof action.
People: each statement can be attached to a proof.

Read the people. Question the evidence. Make your case.

The problem

A generated mystery can sound convincing while containing an impossible answer, a hidden assumption, an obvious giveaway or simply a dull pile of documents. Fairness and entertainment are separate requirements. A correct answer alone also does not show whether the player understood the evidence.

The goal

Whereabouts is a daily deduction game built around the satisfaction of changing your mind and then proving what happened. The goal is a fair, human, memorable case that makes the player want another one tomorrow.

The product

01Screen · Phone

People: each statement can be attached to a proof.

Native iOS simulator, authored sample case, captured during a UI test.

02Screen · Phone

Evidence: exhibits open one at a time.

Native iOS simulator, authored sample case, captured during a UI test.

03Screen · Phone

An exhibit says what it can and cannot establish.

Native iOS simulator, authored sample case, captured during a UI test.

04Screen · Phone

Theory plus proof: choose what is false, then show why.

Native iOS simulator, authored sample case, captured during a UI test.

How it is used

  1. Open today's caseOne short case a day, starting with a premise and a sealed file.
  2. Read the peopleStatements from everyone involved, any of which can be the lie.
  3. Question the evidenceExhibits open one at a time and say what they cover.
  4. Make your casePick the false statement and attach the exhibits that prove it.
  5. Get a verdictThe engine checks that the proof actually entails the answer.

Interactive demo Computed in your browser

Solve a sample case

Read the people, check the evidence, then prove which statement is false. The case is graded the way the game grades one.

Portfolio sample · not a case from the app · Accessible · 3 min

The Late Broadcast

A community radio station's evening show went on air ten minutes late. The station manager wants to know whose account of the evening does not hold up.

Which statement can you prove is false?

  • Priya Nair Producer

    I was in the studio from six o'clock and didn't step out once before we went on air.
  • Tom Okafor Engineer

    I spent the whole evening up on the roof, fixing the transmitter.
  • Lena Brandt Host

    I got to the station at a quarter to seven, right on time.

Portfolio sample, not a case from the app. The case was written for this page, and no game case or answer appears here. What is real is the grading: your theory and proof are checked in this browser against the game's documented rule (the right statement, plus a proof that establishes it and carries nothing extra). It is not the game server, and the game's generator did not write this case.

Every outcome, as text

Pick the statement you can prove is false and attach 2 to 4 statements or exhibits as proof. The right theory with the one proof that establishes it closes the case; the right theory with a proof that is missing something, or carries something extra, is incomplete and costs nothing; a wrong theory costs one of 3 attempts.

  • Priya's statement + Priya Nair + Studio door log + Badge register Theory proven.
  • Priya's statement with any other proofRight direction.
  • Any other theoryTheory unsupported.
Where this comes from

catchthelie @ dadf48b

  • Case: portfolio-authored for this page (src/content/labs/whereabouts.json); not from the app
  • contracts/deduction/v1/gold-cases.json (case schema and proof bounds shape only; no case content used)
  • supabase/migrations/20260906011000_deduction_v1_api.sql:505-529 (outcome rule)
  • supabase/migrations/20260906010500_deduction_v1_logic.sql:67-135 (proof must derive the conclusion and be minimal)
  • contracts/deduction/v1/gameplay-policy.json (3 theory attempts; incomplete proofs cost none)
  • src/pages/DeductionPlay.tsx:234-245 (verdict labels)

01 · System

How it fits together

Making a case and publishing it are separate authorities.

Select a part to see what it is responsible for and what it connects to.

Every part and connection, as text
Concept and direction Worker

Concept exploration, with an experience director that can reject every idea before writing starts.

Case design and evidence: approved concept

Case design and evidence Worker

Structured model tasks design the case and author its evidence.

Fairness gates: candidate case

Blind player: candidate case

Fairness gates Gate

Deterministic checks that the answer is derivable from the evidence.

Admission: receipts

Blind player Worker

Opens one chosen exhibit at a time, like a real player.

Trade-off: Slower and costlier than handing a reviewer the solution, and the only honest playtest.

Admission: transcript

Admission Gate

Immutable revisions and admission rules form the release boundary; the generator cannot publish.

Web and iOS player: published case

Deduction engine Service

Derives conclusions from the evidence a player actually selected, over supported rules only.

Web and iOS player: verdict

Web and iOS player Interface

React and SwiftUI clients over authoritative game state in Supabase.

Deduction engine: theory and proof

The web player uses React and TypeScript, with a separate SwiftUI client. Supabase Postgres and Edge Functions hold authoritative game state and publication boundaries. The deduction engine operates over a finite authored world and supported rules, deriving conclusions from selected evidence. Generator Studio is an orchestration layer: concept exploration, an independent experience director, case design, evidence authoring, deterministic fairness gates, a sequential blind player, independent reviewers and a ship decision.

02

What it does

  • Theory plus proof

    The logic model represents selectable artifacts, propositions and deduction steps. It can distinguish an entailed conclusion from incomplete or contradictory evidence.

  • Design before writing

    Concept Forge explores alternatives and an Experience Director can reject all of them before the expensive case-writing stages.

  • A genuinely sequential playtest

    The blind-player protocol reveals one chosen artifact at a time rather than giving a reviewer the complete solution and calling the result a playtest.

  • Repair the cause, not the score

    The feedback loop distinguishes a writing defect from an unsupported difficulty tier or a systemic kernel/pipeline problem. It can redesign, retier without rewriting, or stop rather than lowering the quality gate.

03

Built with, and why

Client

A web player and a native iOS client.

React · TypeScript · SwiftUI

Backend

Authoritative game state and the publication boundary.

Supabase · PostgreSQL · Edge Functions

Generation

Designing, writing and testing cases before anyone plays them.

Structured model tasks · Deterministic logic engine · Review and feedback orchestration

04

Decisions and trade-offs

Separating a fair puzzle from a fun one

Approach

Deterministic checks establish properties of the declared logic; independent player and editorial review evaluates curiosity, voice, reinterpretation and whether the case earns another session.

Trade-off

A formal proof over authored propositions does not automatically prove that the prose communicates them fairly. The symbolic rules and the human reading experience are therefore checked separately.

Learning from rejection without endless rerolls

Approach

The feedback loop preserves the selected concept, carries review findings and general lessons into bounded repairs, and records costs and stage outcomes. Systemic failures stop the writer loop.

Trade-off

A more deliberate process costs more than one-shot generation and can accept no cases. That is preferable to silently publishing weak content or treating a completed model call as a quality result.

05

Check the work

Links checked 21 September 2026

Ask about Whereabouts

Answers quote the source notes and cite them.