DISCLAIMER:
The Spotify OAuth will not work for other people because the API is whitelisted (limitation of the platform) to allow only us to access it. Additionally, only Google Authentication has been implemented.
Inspiration
The idea started from a simple observation: music streaming apps know us better than we know ourselves. Spotify can tell you your top genres, your listening energy, your mood patterns yet all it does with that is generate another playlist. That felt like a missed opportunity.
What if your music taste revealed something deeper about your personality?
Greek gods have always been archetypes , embodiments of human drives and personalities. Zeus commands with grandeur, Dionysus surrenders to the beat, Ares charges forward without apology, Demeter finds beauty in the slow and earthy. These aren't abstract figures; they map surprisingly well onto how people actually listen to music. A person who listens to orchestral scores and cinematic soundtracks is chasing something different from someone who lives inside a four-on-the-floor house set.
The second spark came from wanting to close the loop between identity and place. Southampton has a real, underappreciated nightlife ecosystem. What if your divine archetype didn't just tell you who you are , it told you exactly where to go tonight, step by step?
That's Olympus. Your music, decoded by mythology.
What it does
Olympus connects your Spotify listening history to a Greek god archetype that matches your musical personality. It analyses your recently played tracks, identifies patterns in genre and mood, and assigns you a divine profile , complete with a five-axis sound signature across energy, rhythm, complexity, darkness, and emotion.
Once matched, it doesn't stop at a personality result. Olympus generates a personalised nightlife route through Southampton, directing you venue by venue to places that match your archetype's energy. Dionysus followers get the club circuit. Athena's followers get the jazz bars and art spaces. The route is live , it tracks your location, gives turn-by-turn walking directions, and reroutes if you wander off.
Along the way, you're placed into a tribe of like-minded archetypes, given quests to complete across the night, and connected to a Forum, a chat with your clan members as you move through the city together.
It's part personality quiz, part city guide, part mythological experience.
How we built it
At its core, Olympus is built around a simple pipeline: listen to what you've been playing, understand your vibe, then find the places in the city that match it right now.
Predicting the Vibe with Gemini
We used the Gemini API to analyse a user's recently played Spotify tracks and map them to a Greek god archetype. But the matching doesn't stop at personality , Gemini also maps that archetype to real venues based on the music actually being played at those locations at that time. If Dionysus energy means pounding four-on-the-floor house, you get directed to the venue currently playing exactly that. The recommendation is live, not static.
Backend with Express.js
The application is built on Express.js, handling Spotify OAuth, Gemini API calls, and venue-matching logic server-side. Express gave us a clean, lightweight layer to manage authentication flows, process track data, and serve personalised routes without overcomplicating the architecture.
Powered by Vultr
We deployed the entire stack on Vultr, from one-click deployment to scalable cloud compute. The AI-driven components, particularly the real-time Gemini inference and location-based venue matching, run on Vultr Cloud platform. which gave us the headroom to process requests fast without infrastructure becoming a bottleneck. What would have been a painful deployment process became a non-issue, letting us focus entirely on building the experience.
Challenges we ran into
Server-Side Deployment
Getting the application deployed and running reliably on Vultr was one of our earliest friction points. Managing environment variables, securing API keys that had previously lived in the client, and ensuring the Express server handled OAuth redirects correctly in a live environment took significant iteration. Vultr's infrastructure made the compute side straightforward; the challenge was in the configuration, not the hardware.
Giving Google Maps an Ancient Theme
Google Maps is built for utility, not mythology. Coaxing it into looking like a piece of ancient cartography, sepia tones, gold overlays, custom venue markers styled as temple icons, a compass rose with cardinal directions, required fighting the default styling at every step. We used custom JSON map styles, SVG icon compositing, and canvas overlays to get the map to feel like it belonged inside the rest of the experience rather than breaking the illusion entirely.
Building an Intuitive Fantasy Experience
The hardest challenge was tonal: making something that felt genuinely mythological without becoming confusing. Latin text, oracle runes, and divine prophecy language are immersive, but they can also obscure what the user is supposed to do next. The balance we kept returning to was narrative wrapping, functional core. Every screen needed to work as a normal UI first, then wear the mythology on top. Getting that layering right, especially across the divination sequence and the live route navigation, took the most rounds of revision.
Accomplishments that we're proud of
The theme and the interface match the experience that we wanted to provide the user, a fantasy theme connecting music with greek mythology.
What we learned
Time management and teamwork Vultr Gemini Api Google Polyline service
What's next for Olympus
Scaling the application with funding and proper full implementation of the idea, Pitching it before the top music giants of the industry.
Disclaimer:
The Spotify OAuth will not work for other people because the API is whitelisted (limitation of the platform) to allow only us to access it. Additionally, only Google Authentication has been implemented.
Built With
- express.js
- gemini
- gmaps
- javascript
- spotify
- vultr
Log in or sign up for Devpost to join the conversation.