In an era where LLMs can wax poetic about existential dread as convincingly as a Victorian poet, how do we actually tell the difference? That’s the question I set out to answer with BotSpot—a minimalist, swipe-based game that pits human intuition against the Gemini 2.0 Flash model.
The Aesthetic: Cyber-Brutalism
I wanted the UI to feel "technical" yet "organic." We used a high-contrast palette of Action Pink (#FF0080) and Acid Green (#00FFC2) against a deep navy background. The cards use a "neubrutalist" shadow—hard borders and sharp offsets—to give a tactile, analog feel to a digital test.
Technical Deep Dive
1. Generating "Human" Content
The hardest part of a Turing Test app isn't the AI—it's getting the AI to simulate being human badly enough (or well enough) to confuse us.
We used Gemini 2.0 Flash for its speed and high reasoning capabilities. The secret sauce is in the Difficulty Strategy:
// Prompt logic snippet
const difficultyStrategy = {
Hard: 'AI content MUST mimic human flaws like subtle typos, irregular rhythm, slang, or niche references. Avoid typical AI tropes ("tapestry", "delve"). Human content should be abstract.'
};
By explicitly forbidding "AI tropes," we force the model to explore stylistic territories that humans usually occupy.
2. The Swipe Mechanics
User experience is driven by Framer Motion (motion/react). We used useMotionValue and useTransform to map the horizontal displacement (x) of a card to its rotation and the opacity of the "BOT" vs "HUMAN" overlays.
const x = useMotionValue(0);
const rotate = useTransform(x, [-200, 200], [-15, 15]);
const aiOpacity = useTransform(x, [0, -60], [0, 1]);
3. Procedural Audio
No modern game is complete without sound. Instead of loading heavy MP3 assets, I built a procedural audio engine using the Web Audio API. This allows us to generate swishes, correct chimes, and error buzzing on the fly with zero latency.
4. The Feedback Loop
A guess without feedback is just a coin flip. For every piece of content, the AI generates a style_note. This tells the user why something was classified the way it was.
- Bot Reason: "Classic, simple rhyme scheme often associated with AI instruction-following."
What's Next?
BotSpot is more than a game; it's a living experiment in human perception. As models get better, the "Hard" mode will need to get harder.
Screenshots
Check out the code, fork it, and let me know if you can truly spot the bot: https://www.dailybuild.xyz/project/120-botspot
This article was originally published by DEV Community and written by Harish Kotra (he/him).
Read original article on DEV Community






