I Built an Open-Weight Tarot Reader — Then Found My Backup Model Was Doing the Work
Description and use
Pocket Oracle uses a cascade of Gemma and Llama models for AI tarot readings, but Gemma’s short timeout caused frequent fallbacks to Llama. By extending Gemma’s time budget and explicitly reporting the model used, the app became more reliable, transparent, and cost‑efficient.
Problem
The primary AI model (Gemma 4 26B A4B) was timing out too quickly, causing the fallback model (Llama 3.3 70B) to handle most requests, leading to uncertainty about which model actually produced the readings.
Outcome
By extending Gemma’s timeout and making model usage explicit, Pocket Oracle now reliably uses the intended open‑weight model for most readings, improves transparency for users, and reduces unnecessary costs from fallback usage.
Workflow
- 1. User selects language and draws cards. 2. Browser sends card names, spread, and question to Cloudflare Worker. 3. Worker validates input, looks up canonical card data, constructs a prompt. 4. Worker calls Gemma 4 26B A4B with a 60‑second timeout. 5. If Gemma times out or fails, Worker falls back to Llama 3.3 70B. 6. Worker validates JSON output, restores card identities, and returns the reading. 7. Browser renders the reading and shows which model produced it. 8. Optional narration: browser requests a short‑lived HMAC‑signed token from the Worker. 9. Worker posts to ElevenLabs to generate audio, then streams it back to the browser.
Evidence
Gemma now has up to 60 seconds per attempt, within a 100-second total Worker budget; the frontend has a 105-second request ceiling.
Gemma completed five of six requests in this small test, with a 33.55-second median across all six.
The frontend reports which model actually generated the displayed interpretation.
- Record date: 2026-10-18T00:41:26.376Z