Zolo Qloo — The Ghost That Learned to Taste A developer built Zolo × Qloo, a conversational cultural discovery agent deployed as a standalone Cloudflare Worker module for the Hacktoberfest Open-Source AI Challenge. The agent uses Cloudflare Workers AI's Llama 3.3 70B (FP8) to parse a user's stated favorite into strict JSON discovery intent, while all recommendations come exclusively from Qloo's affinity API, with the system prompt barring the model from inventing results. A verified run mapping Radiohead to films such as Children of Men and Being John Malkovich reproduced identical results with Qloo provenance badges. Entry for the Hacktoberfest Open-Source AI Challenge, Week 4: "Ghost in the Machine" — submitted on Día de los Muertos. Try it live: https://zolo-qloo-hackathon.eddyflores100.workers.dev/taste https://zolo-qloo-hackathon.eddyflores100.workers.dev/taste Día de los Muertos is when the living set out photos and candles for the dead and remember what they loved. It is the right week to admit something about taste: it is the most personal thing we have, and it does not end with us. The songs play, the movies get rediscovered, the books change hands. Preferences outlive their owners and keep shaping what everyone finds next. That is the séance this project performs. You tell a machine one thing you love — and the machine answers with real, verifiable connections drawn from the recorded affinities of millions of listeners, watchers and readers. Many of the people whose taste shaped that answer are gone. Their preferences are still in the graph, still pointing the living toward the next thing to love. That is a ghost in the machine in the most literal sense I know: the accumulated taste of the past, animating a recommendation engine, speaking back to you in your browser. Zolo × Qloo is a conversational cultural discovery agent. You type or dictate a favorite — an artist, movie, book, TV show or podcast — and where you want to travel from it. Then: @cf/meta/llama-3.3-70b-instruct-fp8-fast extracts the discovery intent as strict JSON, or asks a clarifying question in your language. It can also hold a follow-up conversation with the last six messages. One rule is carved into the system prompt and I want to quote it exactly: "No recommendations: those must come from Qloo." The model plans intent and explains evidence; only Qloo-returned entities become result cards. The generative ghost is allowed to listen and translate — it is not allowed to invent. The verified run from 2026-10-28: "I love Radiohead. Find me movies." → seed Radiohead, eight real films, including Children of Men , Being John Malkovich , Moon and Adaptation. I re-ran it live today while writing this post; same trail, same provenance badges Qloo Search ✓ → Qloo Insights ✓ . Full disclosure, because the judges can read the README anyway: Zolo existed before this challenge. It is my standing virtual assistant — a pre-existing agent persona with its own codebase. For the challenge window repo created 2026-10-29, module verified 2026-10-28 , I built the ghost a new sense: a standalone, independent Cloudflare Worker module that adds cultural discovery — intent planning, Qloo search and insights, conversation memory, dictation and spoken playback, manual category controls, a surprise prompt, and reproducible tests. The pre-existing assistant was not created during the event; the discovery module was, and that is what this entry is. That is my reading of the theme, honestly held: the ghost in the machine is not the new code you write — it is the agent that was already there, waiting for its next faculty. This week, the ghost learned to taste. The only generative component runs on an open-weight model Llama 3.3 70B, FP8, served by Cloudflare Workers AI . For a discovery agent, that matters more than it sounds: Open innovation note: the Qloo hackathon harness was available for this event; this project deliberately calls the API directly with its own orchestration, so the interesting parts are all in the open. Affinity is evidence about audiences, not a prediction of your behavior. Availability varies across category pairs, and a misparsed intent is always possible — which is why the clarify route exists. No taste profile is saved; history lives in tab memory. The model summary is supplementary and bounded. This Día de los Muertos, light a candle for your favorites: tell the machine about them, and follow where the dead and the living point next.