Inspiration
Most self-reflection tools begin with identity: a personality type, a label, or a summary of who you are.
I wanted to start with evidence instead.
The idea behind Pattern Cosmos is simple: lived experiences leave traces. If similar behavioral mechanisms keep appearing across independent moments, those traces can gradually reveal a pattern.
I imagined those experiences as stars. Repeated evidence could gather into nebulae. Patterns a user intentionally wants to reinforce could become constellations, while recurring inertia they consciously want to interrupt could become black holes.
The goal was not to build another AI journal, but a personal universe that grows from the way someone actually lives.
What it does
A new user begins with an almost empty cosmos.
Each dated experience becomes an Experience Star. Gemini analyzes the underlying trigger, regulatory function, response, and outcome.
The agent does not simply group similar sentences. Different surface behaviors can reinforce the same deeper pattern if they serve a similar function.
As evidence repeats across independent moments:
Experience → possible hypothesis → repeated evidence → recurring pattern
The visual world evolves with it:
- experiences become stars
- emerging patterns appear as faint haze
- recurring patterns mature into nebulae
- user-confirmed patterns can become constellations or black holes
For recurring patterns, the Oracle can project where the current trajectory may lead in one year or three years.
The future is not treated as fate. The user can choose a different response, physically draw another orbit through the cosmos, and create a Future Seed representing a possible alternative trajectory.
How we built it
Pattern Cosmos uses a Google-native agentic stack:
- Gemini 3.7 Flash on Vertex AI for semantic pattern reasoning and future projection
- Google ADK for the PatternCurator agent and tool-driven lifecycle decisions
- Cloud Firestore for persistent experiences, patterns, evidence links, projections, and world state
- Google Cloud Run for the deployed React + FastAPI application
- React + TypeScript + Three.js / React Three Fiber for the interactive cosmos
- Web Audio API for interaction sounds and cinematic feedback
The PatternCurator agent can decide whether a new experience represents a new pattern, reinforces an existing one, contradicts it, or represents a conscious deviation.
Pattern state and visual state are linked, so the cosmos changes as the evidence changes.
Challenges we ran into
The hardest problem was defining what actually counts as “the same pattern.”
At first, experiences with different surface behaviors were often separated even when the underlying trigger and function were similar.
For example, immersive AI fiction, social-media scrolling, and finger picking can look completely unrelated. But if all three repeatedly appear as immediate regulation responses to pressure or avoidance, they may belong to the same deeper behavioral mechanism.
That led me to move beyond semantic similarity and explicitly reason about:
trigger → regulatory function → response → outcome
Another major challenge was making the product feel alive rather than turning it into a text-heavy AI report.
Many iterations technically worked but still felt passive. The final experience became much more interactive: stars are born from experiences, patterns visibly emerge, the Oracle must be awakened, and users physically draw a new trajectory when they choose a different response.
Accomplishments that we're proud of
- Built and deployed a working agentic application on Google Cloud
- Verified real Gemini + Google ADK pattern routing end to end
- Built evidence-linked pattern lifecycle logic instead of simple text clustering
- Made new-user cosmos generation happen visibly from zero
- Added persistent world state with Firestore
- Created an interactive Oracle for evidence-grounded future projection
- Let users physically draw alternative future trajectories
- Built a visual language where evidence strength changes the universe itself
- Preserved citations back to the original lived experiences
- Shipped a public production version on Cloud Run ## What we learned The most important lesson was:
A pattern is not simply doing the same thing repeatedly. It can be different behaviors repeatedly serving the same function under similar triggers.
That distinction changed the product.
I also learned that agentic UX should not hide the agent behind a chat box. The model's reasoning can become part of the environment itself.
Instead of returning only text, the system can decide where a new star belongs, whether an existing nebula should strengthen, when a pattern has enough evidence to mature, and when a future projection should be recomputed.
The final product became much stronger when the universe itself became the interface.
What's next for Pattern Cosmos
The next step is to add more longitudinal behavioral evidence.
Calendar data could represent the planned self, while time-tracking data could represent the lived self. Together with journals, Pattern Cosmos could compare what someone intended to do with what they repeatedly actually did.
I also want Future Seeds to evolve over time: if later lived evidence follows a consciously chosen trajectory, that possible future could gradually become part of the real cosmos.
Ultimately, Pattern Cosmos is meant to become a growing map of a person's lived behavioral patterns — not a static personality label.
Built With
- 3.7
- audio
- fastapi
- gemini
- python
- typescript
- vertex
- web
Log in or sign up for Devpost to join the conversation.