More than an API response
Chutzi is a completed proof of concept exploring a different way to use JokeAPI. Instead of presenting a question and punchline in a conventional interface, I built a short gamified experience around a mascot that reacts to every important moment.
I created the concept, experience, mascot, code, documentation, and deployment alone. The success criterion was not the number of jokes: it was making Chutzi feel responsive and alive.
The mascot is the interface
The flow stays deliberately simple: start, read the setup, reveal the answer, then request another joke or leave. JokeAPI supplies ten French two-part jokes in safe mode; a second local filter rejects flagged content and the same joke is not repeated immediately.

Making Chutzi feel alive
The main challenge was designing the mascot and giving each animation enough character without making the interface confusing. Chutzi can look around, jump, think, chat, sleep, sing, turn mischievous, laugh, or react to an error. Idle behavior is varied and pauses when the page is hidden or the user becomes active again.
Music and contextual effects accompany clicks and actions, with source audio from Pixabay. Music and effects can be controlled independently and their preferences stay in the browser. Reduced-motion preferences, keyboard focus, loading, and failure states are also handled.

Result
People who tried Chutzi especially appreciated the mascot, sounds, and overall experience. For me, the POC achieved its purpose: it turned a small API interaction into a coherent playful system and taught me how to coordinate animation, background music, action sounds, and interface state.
Its scope remains intentionally narrow. It needs a connection to JokeAPI and focuses on French two-part jokes. The source is publicly available, but the repository does not currently declare an open-source license.
