Inspiration

The most interesting things to do rarely live in one place. A small gig appears on a venue calendar. A pop-up gets announced in Japanese. A limited release has an order window you discover after it closes.

Meanwhile, recommendation apps keep suggesting the same permanent attractions.

We wanted discovery to start with what someone loves. If you listen to Nujabes, collect games or follow independent fashion, those interests should help you find something worth catching.

That became SideQuest.

What it does

SideQuest connects your cultural interests to gigs, exhibitions, pop-ups and limited product drops, in Tokyo and online.

Start with an artist, film, game or brand, confirm the right match, and choose how strongly you like it. Qloo supplies cultural connections that help rank real opportunities from official sources.

You can then:

  • Browse events and drops, or use Stumble to explore one find at a time.
  • See mapped opportunities and build your own day.
  • Dispatch the SideQuest Agent to plan a Tokyo outing.
  • Import a Japanese announcement and review its extracted details alongside the original.
  • Rate your enjoyment afterward to influence future recommendations.

Each quest stop includes practical door notes where official information is available, plus a personalized suggestion for appreciating the place. Finding a record shop is one thing. Knowing where to start listening is more useful.

How we built it

We built SideQuest with TypeScript, React and Next.js, running through Vinext on Cloudflare Workers, with a persistent catalog in Cloudflare D1.

Qloo /search resolves interests into cultural entities. /v2/insights supplies affinities used to rank mapped artists, brands and other identities within the catalog. Explicit interest strengths and feedback help shape the final recommendations.

Official calendars and announcement pages supply event dates, artist lineups, prices and release windows. Qloo provides the taste connection; source evidence establishes what is actually happening.

The agent follows a bounded workflow. It resolves the interest, ranks candidates, applies supported opening schedules and geographic constraints, checks official pages, and assembles a route. If a candidate becomes unusable, it can exclude that stop and plan again. Progress on screen comes from actual tool results.

Google Maps supports discovery and route export. Plans, saved announcements and enjoyment ratings stay in the visitor’s browser.

Challenges we faced

Our first recommendations were too generic. Adding more listings helped, but missing artist details and loose cultural matches still produced weak results. We added official-page enrichment, stricter entity matching and clearer distinctions between direct matches, related discoveries and unpersonalized options.

Another problem appeared during final testing. Optional name-resolution requests could consume the time budget before Qloo scored existing catalog candidates. We moved candidate scoring first and added a regression test.

Real-world planning also required restraint. Published hours do not prove a venue is open right now. A product page does not prove stock remains. SideQuest retains source wording and check times, and leaves unsupported details missing.

Accomplishments

Our public release passed 292 automated tests, type checking and a production build.

Signed-out browser checks covered discovery, Google Maps, saved plans, quest generation, source notes, announcement imports and enjoyment ratings. A simulated closure report successfully produced a replacement route.

The release snapshot contained 389 timed finds from 30 sources. Contrasting taste profiles received actual Qloo candidate scores, rather than relying only on local fallback matching.

What we learned

More inventory does not automatically produce better discovery. The system needs enough detail to explain why a specific opportunity belongs in someone’s recommendations.

We also learned that preferences need room to change. Interest strength, curiosity and enjoyment provide more useful signals than assigning someone a fixed persona.

What’s next

We want broader independent fashion, vinyl and art coverage, more complete Japanese extraction and translation, and a held-out human evaluation of recommendation quality.

We also need to finish verifying the scheduled updater’s new maintenance authorization. The public discovery and planning flows are working, but unattended refresh remains a separate verification task.

Built With

Share this project:

Updates

Submission history