This is a submission for the DEV April Fools Challenge
What I Built
The starting point was a brief moment in Harry Potter and the Chamber of Secrets, when Arthur Weasley asks Harry: "what exactly is the function of a rubber duck?"
I took that very essential question as the basis for the project and turned it into a ministerial interface for the formal examination of a yellow plastic duck.
So I built What Is This Duck For?, a web app that treats a rubber duck as a matter of public administration, emotional uncertainty, procedural concern, and possible domestic surveillance.
The app lets visitors submit the duck to five official interpretive modes:
- Analyze the Duck β a mock-expert technical reading
- Request Deeper Interpretation β overthinking, philosophical drift
- Escalate to Ministry β paperwork, forms, bureaucratic misery
- Trust the Duck β calm reassurance and quiet faith
- Do Not Trust the Duck β bathroom paranoia and suspicious side-eye
Each mode generates a formal βministerial reportβ with a hypothesis, classification, threat level, confidence score, and conclusion. The result is mildly concerning, far more official than necessary, and hopefully funny.
Demo
You can try the live demo here:
The interface is designed to feel strangely official for something that should never have required official attention in the first place.
A typical session looks like this:
- choose a mode
- trigger the inquiry
- watch the report compile itself
- leave with fewer answers than you started with
Code
Source code is available here:
The project includes:
- a
FastAPI backend - Gemini 2.5 Flash
- a custom
frontendwith a ministry-style interface -
prompt-basedpersona logic - an About page explaining the investigation as if it were a real institutional service
- custom duck persona assets for each official mode
How I Built It
I built the app with FastAPI, server-rendered templates, custom CSS, and JavaScript for the interactive report flow.
The biggest part of the work was not _βbuilding a useful product,β _but overbuilding a completely useless one with as much conviction as possible.
A few highlights:
- I designed the homepage as a fake bureaucratic dashboard
- I created five distinct duck-analysis personas with different tones and behaviors
- I refined the generated writing so each mode felt readable, funny, and specific
- I added custom duck visuals for each persona on the About page
- I deployed the demo on Hugging Face Spaces
For the AI side, I worked with Gemini CLI from the beginning, using it throughout the project to build, refine, and steer the experience. On the generation side, I used Google Gemini to produce structured, persona-driven reports that stayed coherent, readable, and funny.
One of the most interesting challenges was building the five analysis personas so they produced outputs that felt distinct, coherent, and consistently funny without becoming repetitive. That required a lot of prompt iteration β especially around the relationship between hypothesis and conclusion β and a gradual shift away from pure absurdity toward a more structured comic logic, all with Gemini 2.5 Flash.
Agents Sessions
1 - This initial prompt defined the joke, the scope, and the rules of the project from the start.
2 - Persona Refinement | Making βMinistryβ Funnier and More Concrete
Prize Category
Iβm primarily submitting this for Best Google AI Usage.
Gemini was a core part of the project, both in the building process and in the app itself. It helped turn a simple joke into a system of distinct personas, structured reports, and consistently readable comic outputs rather than generic AI text.
And if the Ministry happens to win over the public, I would gladly accept the consequences under Community Favorite.
Thanks for reading, and please proceed with caution.
In matters involving the yellow rubber duck, certainty remains premature.


Top comments (0)