DEV Community

Cover image for Passion Atlas: A Living Map of Human Curiosity
ujja
ujja Subscriber

Posted on

Passion Atlas: A Living Map of Human Curiosity

DEV Weekend Challenge: Passion Edition Submission

This is a submission for Weekend Challenge: Passion Edition

What I Built

I built Passion Atlas — an AI-powered map of human curiosity that helps people discover how their interests, experiences, cultures, and ideas connect.

The idea started from something I noticed about myself: I have never had a single passion.

Throughout my life, my interests kept evolving — from anime to dance, boxing to travel, food, culture, and understanding how people live around the world. For a long time, I thought this meant I lacked focus.

But I eventually realised my interests were not random; they were connected.

Anime introduced me to storytelling and different cultures. Dance connected me to movement and expression. Boxing taught me discipline and human psychology. Travel connected everything through food, history, traditions, and people's stories.

Maybe humans are not designed around one fixed passion. Maybe curiosity itself is the passion.

Our minds naturally explore, combine, and connect ideas. The most meaningful discoveries often happen when seemingly unrelated interests come together.

Passion Atlas was built around this idea:

Your interests are not separate islands. They are a connected universe.

Introducing Passion Atlas

Passion Atlas creates a personal Passion Genome — a living representation of someone's curiosity.

Instead of asking:

"What is your passion?"

It asks:

"What are all the things that make you curious, and how do they connect?"

A user might enter:

Travel
Food
Photography
History
Enter fullscreen mode Exit fullscreen mode

Instead of generating a generic recommendation list, Passion Atlas creates connections:

Travel

↓

Cultural Exchange

↓

Local Food Traditions

↓

Storytelling

↓

Heritage Preservation

↓

Traditional Crafts
Enter fullscreen mode Exit fullscreen mode

The goal is not to tell people what they should like.

The goal is to reveal connections they never noticed.

Passion Genome: Your Curiosity Fingerprint

Every person has a unique combination of experiences.

Two people can love the same thing but have completely different curiosity paths.

For example:

Person A:

Photography
+
Travel
+
History

=

Cultural Storytelling
Enter fullscreen mode Exit fullscreen mode

Person B:

Photography
+
Nature
+
Science

=

Environmental Documentation
Enter fullscreen mode Exit fullscreen mode

The same interest can evolve into completely different worlds.

Passion Atlas captures these unique intersections.

The Passion Butterfly Effect

Small moments can create unexpected journeys.

A single experience:

"I attended a traditional tea ceremony in Japan."

Could become:

Tea Culture

↓

Japanese Aesthetics

↓

Ceramics

↓

Traditional Crafts

↓

Sustainable Design
Enter fullscreen mode Exit fullscreen mode

A small spark creates a larger curiosity path.

Passion Atlas helps reveal these hidden chains.

Curiosity Wormholes

Most recommendation systems optimise for similarity.

Passion Atlas optimises for meaningful surprise.

Instead of:

"People who like hiking also like camping."

It explores:

Hiking

↓

Mountain Ecosystems

↓

Indigenous Knowledge

↓

Ancient Navigation

↓

Astronomy
Enter fullscreen mode Exit fullscreen mode

Because sometimes the best discovery is something you were never searching for.

Preserving Human Stories

Passion is not only about consuming knowledge.

It is also about preserving it.

Across the world, thousands of traditions, recipes, crafts, and personal stories risk disappearing.

Passion Atlas creates Passion Time Capsules.

People can contribute:

  • personal stories
  • cultural memories
  • recipes
  • artisan knowledge
  • images
  • audio recordings
  • videos

AI transforms these into connected cultural experiences.

A grandmother's recipe is not just a recipe.

It is connected to:

  • migration
  • family history
  • geography
  • tradition
  • identity

Every story becomes part of the global curiosity map.

How I Built It

Passion Atlas is an AI-native application built using specialised agents.

Passion Extraction Agent

Transforms human stories into structured curiosity data.

It identifies:

  • interests
  • emotions
  • motivations
  • cultural context
  • related concepts

Example:

Input:

"I love making traditional food with my grandmother."

Output:

Cooking

Family Heritage

Traditional Knowledge

Cultural Preservation
Enter fullscreen mode Exit fullscreen mode

Curiosity Graph Agent

Builds relationships between:

  • passions
  • stories
  • locations
  • cultures
  • experiences

The graph continuously evolves as more people contribute.

Discovery Agent

Finds unexpected connections.

It considers:

  • novelty
  • relevance
  • emotional connection
  • cultural depth

Cultural Preservation Agent

Transforms human experiences into meaningful knowledge:

  • summaries
  • translations
  • context
  • connected discovery paths

Demo

The app currently runs on local as it needs environment values. However, a simulation version is deployed on Vercel.

Code

🌌 Passion Atlas

A living map of human curiosity.

Passion Atlas is an AI-powered map that helps people discover how their interests, experiences, cultures, and ideas connect. Instead of asking "What is your passion?", it asks "What are all the things that make you curious — and how do they connect?" and renders the answer as a personal Passion Genome: a constellation of your curiosity where unexpected bridges between seemingly unrelated interests light up.

Your interests are not separate islands. They are a connected universe.

Built for the dev.to Weekend Challenge: Passion Edition.


✨ Features

Each screen is a different lens on the same living curiosity graph:

Screen What it does
🌌 Atlas (Canvas) Enter a passion and watch it expand into a constellation. Drill into any node to discover its connections; claim ownership of a discovery path on-chain.
🧬 Genome Your personal "Passion Genome" — the

Prize Categories

🏆 Best Use of Google AI

Google Gemini powers the reasoning layer.

It helps:

  • extract hidden passions from stories
  • understand semantic relationships
  • generate Passion Genomes
  • discover unexpected connections

Gemini enables the system to reason across thousands of possible curiosity pathways.

🏆 Best Use of Snowflake

Snowflake powers the global Passion Graph.

It stores and analyses:

  • passion relationships
  • cultural stories
  • discovery patterns
  • human curiosity trends

Over time, the system can uncover patterns like:

"People interested in ceramics often explore gardening, architecture, and sustainable design."

The graph becomes richer with every contribution.

🏆 Best Use of ElevenLabs

Passion is emotional.

A story is not always the same when read as text.

ElevenLabs enables:

  • voice-based memories
  • multilingual storytelling
  • emotional narration

A craftsperson can share their knowledge in their own voice.

A family story can remain human.

🏆 Best Use of Solana

Passion Atlas introduces a contribution layer.

Human knowledge creates value, but contributors are often invisible.

Solana enables:

  • transparent recognition
  • contributor rewards
  • community incentives

Example:

Traditional Weaving Story

↓

500 people discovered this tradition

↓

Contributor recognised

↓

Community preservation supported
Enter fullscreen mode Exit fullscreen mode

The goal is not to financialise every passion.

The goal is to recognise people who preserve and share human knowledge.

Why Passion Atlas?

The internet already connects:

  • people
  • places
  • products
  • information

But it does not connect something deeply human:

curiosity.

Maybe having many passions is not a lack of direction.

Maybe it is a different way of exploring the world.

Our interests are not random dots.

They are a map.

Passion Atlas helps us discover the connections.

Because every passion leads somewhere.

And every person carries a universe of curiosity waiting to be explored.

Top comments (18)

Collapse
 
alexshev profile image
Alex Shev

A living map is a good format for curiosity because interests rarely sit in neat categories. The interesting product question is how the map changes after use: does it only display declared interests, or can it reveal unexpected neighboring passions from the paths people take?

Collapse
 
ujja profile image
ujja

That's exactly the direction I was thinking about. I don't see it as a static map of declared interests—it should evolve with how people actually explore it.

Every interaction could become a signal: the paths someone follows, the stories they spend time on, the connections they revisit, or even the ones they ignore. Over time, the map would adapt and reveal neighboring passions that weren't explicitly stated but emerge from their curiosity journey.

I think that's where it becomes interesting. Instead of asking "What are you interested in?", it starts answering "Based on how you've explored the world, here's something you might never have considered—but it fits your curiosity surprisingly well."

Collapse
 
alexshev profile image
Alex Shev

That interaction layer is where the map becomes interesting. Declared interests are a starting sketch, but followed paths and repeated returns are closer to real curiosity. I would be careful to keep some serendipity too, so the map does not overfit the first few clicks.

Thread Thread
 
ujja profile image
ujja

That's a good point. I think one way to achieve that is by making curiosity decay rather than permanence part of the model. Early interactions would have relatively little influence, while long-term patterns and diverse exploration would carry more weight. It keeps the graph flexible, allowing people's interests to evolve naturally instead of locking them into an identity based on their first few sessions.

Thread Thread
 
alexshev profile image
Alex Shev

Curiosity decay is a strong way to put it. It also avoids the classic personalization trap where the first few sessions become a permanent label. A good interest graph should remember patterns without turning early behavior into identity.

Thread Thread
 
ujja profile image
ujja

Exactly. I'd also want the graph to recognize that curiosity has seasons. Something that fascinated you years ago might suddenly become relevant again because of a new experience or interest. Instead of treating passions as fixed labels, the graph would model them as relationships that strengthen, fade, and reconnect over time.

That's where I think Snowflake and Gemini complement each other well. Snowflake can capture the long-term interaction history and evolving patterns across millions of contributions, while Gemini can reason over that context to identify when seemingly unrelated experiences have become connected again. Rather than just remembering what you've clicked, the system could understand how your curiosity is evolving and surface connections that feel timely instead of simply familiar.

Thread Thread
 
alexshev profile image
Alex Shev

Seasons is a good addition. It means the graph should preserve old signals as possible context, but not treat them as current priority until something reconnects them. That makes the memory useful without freezing the person.

Thread Thread
 
ujja profile image
ujja

I like that perspective. I also think it makes the graph feel less like a profile and more like a conversation that continues over time.

That's where I see Snowflake and Gemini working well together. Snowflake can hold the long-term context, while Gemini reasons over it to spot when a past interest suddenly fits with something new you're exploring. The result isn't just personalization—it's helping people make connections they probably wouldn't have made on their own.

Collapse
 
wrencalloway profile image
Wren Calloway

The chains you're showing — Travel → Cultural Exchange → Local Food Traditions → Storytelling — read like exactly what an LLM produces when you ask it to relate two concepts: a smooth, plausible, generic path. That's the trap. Gemini will always find a connection, and it'll find a similar one for almost any pair of inputs, because interpolating between concepts in embedding space is the one thing these models can't refuse to do. The "meaningful surprise" you're optimizing for and the "hallucinated but confident bridge" failure mode are the same output — you can't tell them apart from the text alone.

The thing that would actually make this defensible is the part you're leaning on Snowflake for: connections grounded in real co-occurrence across contributors, not connections the model invented on the spot. "People interested in ceramics often explore gardening" is only worth anything if it's measured from actual contribution data, not generated. So I'd flip the architecture — let the graph agent propose edges from real data and use Gemini to explain them, rather than letting Gemini author edges and hoping they're true. Otherwise every user's Passion Genome is equally profound and equally made up, which means it's neither.

Collapse
 
ujja profile image
ujja

That's a great point, and I agree that grounding the graph in real contributor data is important.

I was actually thinking of a hybrid approach. Rather than having Gemini blindly generate every edge, an agentic workflow could let Gemini propose new edges and hypotheses based on semantic reasoning, while Snowflake provides the evidence layer through real contributor data, co-occurrence patterns, and feedback loops. The proposed connections could then be validated, reinforced, or discarded as more data comes in.

With Google's recent agentic AI capabilities, Gemini is becoming much better at planning, reasoning, and using external tools, so I don't necessarily see it as only an explanation layer. I see it as a collaborator with the graph—discovering potential connections while the underlying data continuously grounds and refines them. That way you still get novel discoveries without relying solely on LLM intuition.

Really appreciate the thoughtful feedback—it gave me a lot to think about.

Collapse
 
ujja profile image
ujja

Thinking about it more, I can actually see the next iteration evolving into something quite different from the current demo.

Instead of a mostly AI-generated graph, the Passion Graph would become a living knowledge graph built from real user contributions. Agentic AI would continuously ingest new stories, propose new relationships, detect emerging patterns, and surface anomalies, while Snowflake becomes the long-term memory and source of truth. As more people contribute, the system would become progressively less dependent on priors from the LLM and more grounded in collective human curiosity.

The exciting part is that it could discover entirely new intersections that neither humans nor the model explicitly knew about—because they're emerging from real-world contributions rather than being generated from embeddings alone.

Collapse
 
benjamin_nguyen_8ca6ff360 profile image
Benjamin Nguyen

Really nice Ujja! I enjoy your youtube viedo and everything with your project. I am curious if you are going to share on LinkedIn also?

Collapse
 
ujja profile image
ujja

Thanks Benjamin. Didn't post it there yet.

Collapse
 
benjamin_nguyen_8ca6ff360 profile image
Benjamin Nguyen

ok!

Collapse
 
technogamerz profile image
𝐓𝐡𝐞 𝐋𝐚𝐳𝐲 𝐆𝐢𝐫𝐥

Great ❤️

Collapse
 
ujja profile image
ujja

Thanks 🙂

Some comments may only be visible to logged-in visitors. Sign in to view all comments.