Play an interrogation game on mobile where each suspect is a real LLM
Teach yourself what temperature and top-P do by sliding them and seeing the suspect change
Study a working pattern for proxying Gemini calls through a Supabase Edge Function
Build a similar narrative game using streaming Server-Sent Events for live token output
Needs a Supabase project, a Gemini API key, and the example env file filled in before the Edge Function proxy will work.
Unmasking AI's Lies is a small browser game, designed mainly for mobile phones, where you play a detective interrogating suspects in a murder case. The twist is that every suspect is a real large language model (a chatbot AI, similar to ChatGPT) running behind the scenes with a hidden personality and alibi. Your job is to ask questions in a way that makes the guilty one slip up and confess. The README describes it as a mobile-first H5 game with no signup needed and progress saved locally. The game tries to teach prompt engineering as a side effect of playing. Each interface control corresponds to a real setting that AI developers use. Two sliders called Emotional Pressure and Logical Rigor change the model's temperature and top-P, which control how random or focused the AI's answers are. You can also paste extra instructions into the suspect's hidden prompt to try to break their cover, and you can attach evidence documents directly to the AI's context to confront them with proof. An X-Ray Mode lets you peek behind the curtain to see the actual configuration and system prompt being sent. The front end is built with React 19, TypeScript, Vite (a tool for bundling web code), Tailwind CSS for styling, and Framer Motion for animations. State is kept with a small library called Zustand and stored in the browser. The actual AI calls go to Google's Gemini 2.5 Flash model, with replies streamed token by token over Server-Sent Events so the text appears as it is generated. The game is available in English and Chinese. The backend is a Supabase Edge Function written in Deno that acts as a proxy. The README notes that the AI API key never reaches the browser, because all calls go through this Edge Function, which also handles authentication, CORS, and rate limits. To run it locally, you copy an example env file and fill in Supabase project credentials, an app id, and a login type. Production builds and linting run on a platform called Miaoda. The project was built for a hackathon, and the author keeps all rights unless stated otherwise.
Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.