Inspiration

Make a day of the show.

A concert gives you a destination, a time, and a clue about what you love. Dayriff uses the artist you’re seeing to help you discover the surrounding city and turn the hours before the show into a personal outing.

What it does

Choose an artist and venue, enter the show time, and decide how much time you have to explore. Dayriff creates a walking journey with up to three stops, including cafés, galleries, local shops, and cultural places, finishing at your venue.

A starting address or neighborhood, budget, and desired arrival time are optional. Photos, visit times, walking legs, and directions come together in a clear timeline.

The plan stays open to conversation. Ask for more culture, include a café, reduce walking, change your budget, or swap a particular stop. Each accepted adjustment updates the journey in place. Earlier versions remain available, and a read only link makes the plan easy to share with friends.

How we use Qloo

The selected artist becomes a signal for Qloo’s taste graph. Dayriff resolves real artist and venue identities, then uses Qloo Insights to connect music taste with nearby places through cross domain affinity. Geographic filters keep discovery relevant to the outing.

Qloo also supports the conversation. A request for bookstores or more culture can trigger fresh discovery using Qloo’s place categories, with candidates ranked against the selected artist. Cultural metadata helps surface distinctive places, and a shared quality policy excludes known generic global chains.

This gives Dayriff a concrete connection between the music someone enjoys and the city they explore. Place photos, descriptions, and available visitor information make those recommendations tangible. Explanatory notes use supporting place information, with taste affinity identified as the basis of the match.

How the AI plans and responds

OpenAI interprets each request into structured intent covering stop count, preferences, exclusions, retained places, and timing. The planning assistant uses tools to discover places, check a proposed outing, and answer questions about the current trip.

The server validates real place IDs, geography, timing, and accepted preferences before saving a revision. Scheduling works backward from arrival at the venue, with walking and visits included in the available time.

Adding a stop, replacing one, and asking a question each have a distinct path. A targeted swap preserves the other stops. A request for more culture at the three stop limit can replace a stop. Questions keep the itinerary intact.

Challenges and what we learned

The hardest part was preserving intent across several turns. A request to add a café should respect the places someone wants to keep, their time window, and earlier preferences. Separating those decisions into explicit state made the planning conversation more consistent.

The interface needed the same continuity. Progressive inputs, concert postcards, a photo led route, and persistent chat make discovery and adjustment feel connected across mobile and desktop.

What we built and tested

Dayriff runs on React, TypeScript, and Fastify, hosted on Google Cloud Run with Firestore for durable anonymous trips. Credentials stay on the server. Bounded AI calls and on demand photo loading keep the app lightweight.

The project has 304 automated tests and clean install CI. Live journeys covered New York, London, Asheville, Tulsa, and Dunedin. A 20 check hosted acceptance run passed multi turn revisions, sharing, clear trip controls, and exact trip, chat, and history recovery after a server revision change.

Trips persist for 30 days without use. Seven day shared snapshots omit private starting details and chat, and clearing a trip revokes its links.

What’s next

We want to deepen taste personalization, improve local visitor information and routing, and explore shared planning with friends while keeping the concert day experience focused.

Try Dayriff: https://dayriff.com

Open source code (MIT): https://github.com/blackscaletech/dayriff

Built With

Share this project:

Updates

Submission history