Inspiration

Gordon Ramsay is the guy who gave me the idea. He loves people but roasts them, and you can never tell if he's angry or just disappointed. We wanted that energy in an app

What it does

You take a photo of your food, or upload an image, and the AI scans it and writes a critique. After roasting your food it actually gives you 3 recipes based on your budget — broke, decent, and fancy. You can also hear the critique read out loud in a French accent.

How we built it

I used Next.js 16, React 19, Tailwind 4, TypeScript. The pipeline is: Photo -> Google Cloud Vision (labels) -> Gemini Flash multimodal (writes the critique + recipes) -> ElevenLabs (reads it out loud). All the SFX are made in-browser with Web Audio API, no audio files for this project.

Challenges we ran into

ElevenLabs free tier blocks most voices with a 402 error, so we built a fallback ladder so it never silently fails. Vision API alone couldn't tell a Michelin plate from regular food, so Gemini does the special-case detection by looking at pixels directly. Also wrestled with Turbopack on Windows freezing the PC because of an orphan lockfile.

Accomplishments that we're proud of

It's actually funny. The brutalist newspaper UI doesn't look like a generic hackathon app, and there are 6 personas + 13 hidden easter eggs (try the Konami code its fun). And it works fully offline in mock mode if WiFi dies during the demo or showcase.

What we learned

Multimodal LLMs change everything. Gemini doing the image classification AND writing the critique in one shot replaces what used to be 3 separate steps. Also: comedy is a UX feature. Every detail (the loading text, the page-tilt animation, the tab title going creepy after 30s) serves the bit.

What's next for Le-Pathetique

More personas (Italian grandma is requested), a "critique your fridge" mode that suggests 5 meals from what you have, and a native mobile app. And maybe a French Twitter bot that roasts sad lunches in public.

Built With

  • elevenlabs-api
  • google-cloud-vision-api
  • google-gemini-flash
  • javascript
  • tailwind
  • typescript
  • vercel
  • web-audio-api
Share this project:

Updates