Inspiration

Planning a weekend is a chore. You open five tabs, scroll event listings, and still end up with picks built for everybody, not for you. We wanted a planner that starts from what you love and ends with this weekend, in your city.

What it does

Weekend Main Event turns a few taste seeds (artists, films, places) plus a city into a personal weekend outing plan. It pairs this weekend's real Ticketmaster events with Qloo-personalized venue and entertainment picks, and every pick shows why it's there: its Qloo affinity, plus a source and date on every live event.

How we built it

  • Cloudflare Worker, one app. The Qloo key lives only as a Worker secret and never reaches the browser.
  • Two-step plan, fired in parallel. The page sends two requests at the same time. /api/plan returns an instant plan from Ticketmaster events plus cached city places. /api/picks resolves seeds with Qloo GET /search and pulls GET /v2/insights by filter.type. While it runs, the plan shows a "Tuning to your taste" state, then the personalized picks slot in.
  • Qloo is the ranker. Qloo affinity is the main ranking signal. We add light novelty and a boost for things happening this weekend. Popularity is shown as proof but never decides the order.
  • Shared KV cache. Each seed lookup is cached for 7 days, so a seed one person resolves is fast for everyone after.
  • Cron pre-warm. A scheduled job pre-resolves the top-50 seeds so common tastes are ready before anyone asks.
  • No error pages on your plan. If anything breaks, you still get a working plan, and rate limits get a friendly hold message. No stack traces, no key leaks.
  • Privacy by default. Seeds are stripped of emails, phone numbers, handles, and URLs before leaving the Worker. Location is a city or ZIP only.

What makes it Qloo-powered

Qloo picks the taste. Every seed is resolved with Qloo GET /search, and Qloo GET /v2/insights decides which venues and entertainment picks you see and in what order. Without Qloo you would only get the fast plan: this weekend's events and city places, the same for everyone. We make it fast, local, and this weekend.

Proof

Cold test: 10 fully cold runs, cache wiped and worker redeployed before each (build 65d1525, live as v1.4.3).

Check Result
Fast plan returned, slowest of 10 cold runs 1003ms
Real, non-degraded Qloo picks, done in 4.8s to 5.4s 10 / 10
Runs using seeds not in the pre-loaded top-50 10 / 10
Rate-limit holds or error responses 0

Challenges we ran into

  • Speed without faking it. Cold Qloo lookups can take several seconds, so we split the plan in two: a fast plan right away, and Qloo picks that slot in when they're ready. Across ten cold runs, the picks still landed in 4.8 to 5.4 seconds.
  • Receipts on everything. We wanted fresh reviews, but we couldn't find a free review source we could use in a public demo, so we left reviews out, and every live claim carries a source and a date instead.
  • Names that mean more than one thing. "Dune" can be a film or a book, so an ambiguous seed gets a short pick list before the plan runs.

Accomplishments that we're proud of

  • 10 for 10 on fully cold runs, using 20 seeds we never pre-loaded across 10 new cities.
  • The fast plan landed in about a second every time. The slowest was 1003ms.
  • 30 of 30 requests came back clean, with zero rate-limit hits and zero errors.
  • A plan that never shows you a broken page.

What we learned

  • Cold tests are the honest test. A warm cache hides the real wait.
  • Show something useful right away, then make it better. Two calls fired at once beat one slow call.
  • Showing why a pick is there earns more trust than a longer list.

What's next

  • Smarter handling for seeds that could be a film, a place, or something else.
  • More cities and more taste seeds kept warm before anyone asks.
  • Saving and sharing a weekend plan with friends.

Weekend Main Event, by Screaming Chicken. Your taste. Your city. Your weekend.

Built With

Share this project:

Updates

Submission history