Inspiration
The idea started from a discomfort: most “AI personalization” today is either shallow (tone presets) or transactional (a few remembered facts). What we actually want is identity-level personalization—capturing the invariants behind your choices: your decision heuristics, your vocabulary quirks, your core values, and the emotional priors that shape how you reason.
A second spark came from science fiction: the “digital soul” concept in The Wandering Earth—a persistent digital essence that can outlive the biological body and make someone effectively “immortal.” Virtual Me is our hackathon-scale attempt to prototype that direction: not immortality as a gimmick, but a structured, evolving representation of a person that can persist, reflect, and interact.
What it does
Virtual Me creates an interactive “Digital Soul” from real-world signal (CV + interview), then lets you talk to a low-latency twin that responds using your logic and style.
It has two modes:
Soul Architect (Gemini 3 Pro) A profiler that reads your CV/resume and runs a deep, voice-enabled interview. It doesn’t just record answers; it infers the latent model behind them and compiles a living Digital Soul JSON.
Reflection Mode (Gemini 3 Flash) A fast conversational “you” that uses the Digital Soul to answer in your voice and from your worldview—useful for self-coaching, debating decisions, and breaking cognitive loops.
A key property: the more you talk with the Soul Architect, the more your Digital Twin becomes like you. Each calibration round adds evidence, resolves uncertainty, and sharpens the twin’s identity consistency.
How we built it
1) Initialization (the “Seed”)
We collect baseline identity fields (name, age, profession), plus optional light personality signal (e.g., “Not sure” → quick MBTI-style assessment). The user uploads a CV, which is parsed into structured signal: timeline, skills, domain language, and writing style anchors.
2) The Digital Soul schema (structured identity)
Instead of keeping personalization as hidden embeddings, we maintain an explicit schema that is interpretable and versionable. Conceptually it looks like:
{
name: string;
age: string;
profession: string;
mbti: string;
hobbies: string;
traits: string[];
core_values: string[];
vocabulary_quirks: string[];
decision_logic: string[];
raw_chat_examples: string[];
summary: string;
}
This JSON is updated after each round of conversation with the Architect. Each turn contributes new evidence: values get refined, traits become sharper, decision rules become more explicit, and raw chat examples capture authentic phrasing.
3) Soul Architect pipeline (Gemini 3 Pro)
We designed the Architect as a profiler, not a companion:
Prompts are diagnostic: tradeoffs under stress, conflict style, aesthetic vs functional bias, risk appetite, planning vs improvisation.
Pro’s reasoning is used to infer decision rules and compress unstructured conversation into structured schema updates.
Voice interview is supported to capture pacing, hesitation, slang, and emphasis—signals that text-only onboarding misses.
4) Reflection runtime (Gemini 3 Flash)
Reflection mode optimizes for latency + identity consistency:
Flash runs the interactive chat loop.
The Digital Soul schema acts like an identity prior that constrains tone, reasoning patterns, and default tradeoffs.
The result is not “helpful assistant output,” but “what you would likely say, given your values and habits.”
5) Sharing
A shareable link exports a versioned persona snapshot so others can interact with “Virtual Alex” without a login—turning a private mirror into a social demo.
Challenges we ran into
Consistency vs. uncanny realism The closer the twin gets, the more uncanny it can feel. We tuned how strongly the twin mirrors emotional and linguistic quirks to keep it useful rather than unsettling.
Schema granularity Too rigid → brittle and overfit. Too vague → generic chatbot. We iterated until the schema captured stable identity features (values, decision rules) while allowing evolution.
Avoiding “hallucinated identity” CVs have gaps; users sometimes perform in interviews. We learned to treat uncertain traits cautiously and bias toward asking clarifying questions rather than asserting.
Latency in multimodal loops The product lives or dies on responsiveness. We kept heavy reasoning in Pro during calibration and reserved Flash for fast reflection.
Persona drift in long sessions Without constraints, any persona drifts. We periodically refresh the twin with a compact schema summary + examples to stabilize style.
Accomplishments that we're proud of
A two-model architecture that is purpose-built: Pro for deep profiling, Flash for real-time reflection.
A structured Digital Soul JSON that users can understand, evolve, and version—beyond “memory snippets.”
A voice-first calibration loop that captures authentic vibe and language.
A Reflection experience that mirrors decision logic, not just tone.
A share flow that turns the project into a judge-friendly demo with instant “wow.”
What we learned
Personalization isn’t “saving facts.” It’s learning the rules that generate decisions.
Multimodal input makes identity modeling more accurate because speech reveals cognition differently than typed text.
Structured representation (schema) is what makes personalization maintainable, debuggable, and sharable.
The main engineering challenge is not model capability—it’s identity control: uncertainty handling, drift resistance, and safe boundaries.
What's next for Virtual Me: The Mirror to Your Digital Soul
Persona completeness meter (progress + feedback) Add a visible % Persona Complete indicator so users can track calibration progress. Under the hood:
- when the Architect asks a question, it predicts the user’s likely answer (based on current schema)
- compares prediction vs actual user response
- outputs a per-turn rating (and rolling score) to quantify identity-fit and reduce drift over time
Persona API export Let users generate an API endpoint / SDK for their created persona, so “Virtual Me” becomes a portable identity layer:
- embed the persona into other apps (journaling tools, games, coaching products, productivity workflows)
- enable “bring-your-own-persona” experiences across products
Voice cloning for full embodiment Extend calibration to capture vocal identity and make the twin speak in the user’s own voice (with explicit consent and safety controls). The goal is “same mind, same sound”: Reflection Mode becomes a fully embodied conversation where tone, pacing, and timbre match the original speaker.
Soul Studio (editable schema) A UI to inspect and edit traits/values/decision rules: “this is wrong,” “lower confidence,” “add an example.”
Scenario simulation Run counterfactuals: “How would I decide if I valued security more than novelty?” Compare selves.
Longitudinal versioning Time-stamped souls so users can see identity evolution over months/years—turning the mirror into a growth record.
Log in or sign up for Devpost to join the conversation.