Inspiration

There is a clear need for humans to understand more about our personal journey. I wanted to give everyone the opportunity of having a private space where technology doesn't just randomize data, but actually "listens" and remembers. A fair use of LLMs not as a search engine, but as a medium for self-reflection.

What it does

Evangeline is an AI-powered psychic that provides personalized, ritualistic Tarot readings.

Intent-Based Spreads: It analyzes the user's question and dynamically selects a card layout (from a 1-card "Daily Vibe" to a 10-card "Soul Journey") that fits the specific user's needs.

Persistent Intuition: Using a relational database, it tracks your historical sessions, making more sense on the final read

Dynamic Follow-ups: Users can engage in a deep-dive conversation about their spread, asking for clarification or even drawing "clarity cards" to dig deeper into specific insights.

How we built it

We leaned into a "Deterministic Ritual" stack:

Frontend: Built for immersion, featuring a 3D model with lipsync making the conversation more engaging and immersive.

Backend: Supabase (Postgres) handles the heavy lifting. We use a relational schema to manage users, complex card positions, and session history.

The Brain: Gemini Flashlite acts as the Intent Classifier (choosing the spread) and the Interpreter (the psychic voice).

Memory Layer: We engineered a context-builder that pulls a user’s historical and previous reading summaries into the prompt to ensure the psychic "remembers" you.

Challenges we ran into

  1. Hallucination vs. randomness. We had to ensure the LLM didn't just "make up" cards it liked. We solved this by separating the Logic from the Interpretation: Backend code shuffles a deck of cards, and then they are passed to the LLM to interpret them. Balance the "vulnerability" of the user with safety filters to ensure the AI remains a supportive guide.

Accomplishments that we're proud of

  • The "Psychic Memory" System: Successfully querying a user's past trends and having the AI mention them naturally (e.g., "I see the Tower is following you again...") felt like a "magic" moment.

  • Dynamic Routing: Getting the AI to reliably output JSON to switch between 3-card and 10-card layouts based on natural language input.

  • The Ritual UX: Creating a digital experience that feels slower, more intentional, and more "sacred" than a typical fast-paced app.

What we learned

  • Context solves a lot of issues for an AI. An LLM with a memory of your past struggles is 10x more impactful than a "smarter" LLM with no memory at all.
  • Voice Integration: Autosync the mouth of the 3D model with the audio being generated by ElevenLas was a great topic to learn.
  • Personalization using DynamicVariables is great to make the user feel special about the experience.

Built With

Share this project:

Updates