I built an ofrenda card maker and spent most of the day stopping Gemma from making things up
Description and use
A browser‑based app records a story about a deceased person, transcribes it with Whisper, and uses Gemma to suggest card details. Custom checks ensure only accurate, story‑derived content appears, with user review for any flagged items.
Problem
Ensuring AI-generated card content accurately reflects the story and avoids incorrect or disliked items.
Outcome
The app now reliably produces cards that reflect the original story, with incorrect or disliked items flagged for user review, all without uploading data.
Workflow
- Record or upload a voice memo/video of a story about a loved one.
- Whisper transcribes the audio into text, allowing manual corrections.
- Gemma generates suggested foods, drinks, music, sayings, and a key sentence from the story.
- Custom JavaScript checks each suggestion against the story text and disliked phrases.
- Marked suggestions are displayed as chips; the user can accept or reject them.
- The final card is rendered with papel picado, photo or candle, marigolds, and the chosen sentence, downloadable as PNG or JSON.
- All models run in Web Workers; no data is uploaded.
Evidence
Both models run in the browser tab. The recording, the photo and the story aren't uploaded anywhere.
Gemma kept putting the wrong things on the card
When a suggestion fails a check, the page marks it and leaves the decision to you
- Record date: 2026-11-01T17:43:44.367Z