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/planreturns an instant plan from Ticketmaster events plus cached city places./api/picksresolves seeds with QlooGET /searchand pullsGET /v2/insightsbyfilter.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
- cloudflare-workers
- cron-triggers
- javascript
- node.js
- openstreetmap
- overpass-api
- qloo
- ticketmaster-discovery-api
- workers-ai
- workers-kv
Log in or sign up for Devpost to join the conversation.