The irritation
I wanted an excuse to learn Three.js and landed on a simple challenge: could a player talk a deeply unsettling frog into betraying its own password before the timer ran out?
A two-minute browser game where you interrogate an AI frog and try to make it reveal its secret password.

Built because…
I wanted an excuse to learn Three.js and landed on a simple challenge: could a player talk a deeply unsettling frog into betraying its own password before the timer ran out?
I built a 3D browser interrogation game with a server-generated secret, a two-minute conversation, three difficulty levels, model-backed frog responses, anti-cheat checks, and a completion-time leaderboard.
The frog must protect a real server-side secret while still being persuadable enough to make the game fun. Difficulty, prompt behavior, latency, timer state, and leaderboard integrity all affect the same short round.
Under the casing
Scope of work
No victory-lap math
Ribbit or Admit It shipped as a free browser game with a Three.js scene and PHP backend. The source was also published so the build could double as the learning record that inspired it.
A strange character can carry a game when the objective is unmistakable: extract the password in under two minutes, then see how your time ranks.
In the playable workshop, Ribbit or Admit It lives in the Arcade & Menagerie as a opinionated desk frog. You can inspect it without unlocking anything.