Inspiration
Meeting new people should be exciting, but today it often feels exhausting.
Whether it’s networking, dating, or just finding people who genuinely get you, the process usually starts with awkward cold messages, forced introductions, or endless swiping. Most conversations never go anywhere, not because people are incompatible, but because starting the conversation itself is hard.
We have all felt that friction. Wanting to reach out, but not knowing how. Wanting meaningful connections, but not having the time or energy to filter through hundreds of shallow interactions.
At the same time, we noticed something interesting. When conversations do happen naturally, when there is curiosity, flow, and mutual interest, everything feels easy. The problem isn’t people. The problem is how connections start.
That led us to a simple idea: what if the early, awkward part of meeting someone didn’t have to be done by humans at all?
What if two AI versions of two people could explore conversations together, learn where real alignment exists, and only invite the humans in when there is something genuinely worth their time?
Doppel was born from that question. Not as a way to replace human connection, but as a way to protect it and make it more intentional.
What it does
Doppel creates a simple filter between people and conversations.
When someone signs up, they create a profile using information they are comfortable sharing such as interests, goals, and optional links like LinkedIn or GitHub. From this, Doppel creates an AI doppelgänger that reflects how that person communicates and what they are looking for.
When two users are potential matches, both of their doppelgängers talk to each other first. These conversations are structured, time-bound, and focused on understanding alignment rather than small talk.
A separate evaluation step then looks at the conversation as a whole. It scores how well the two personas align based on things like shared interests, communication flow, curiosity, and intent. This step does not decide for either user. It only surfaces signal.
If the conversation crosses a quality threshold, both users receive a short summary of what their two doppelgängers uncovered and can independently choose whether they want to continue the conversation themselves. Nothing is sent automatically, and no one is matched without consent from both sides.
The result is fewer conversations, but better ones. Instead of talking to dozens of people hoping one works out, users only spend time on connections that already show promise from both perspectives.
How we built it
We designed Doppel to be simple on the surface and thoughtful under the hood.
Frontend
The frontend is built with Next.js, TypeScript, and Tailwind CSS.
Our goal was to keep the user experience clean and low-friction. Users can quickly create a profile, control what information they share, and clearly understand what is happening at every step. The interface focuses on clarity and consent rather than complexity.
Backend
We used Gumloop as our entire backend.
Instead of a traditional server with scattered logic, we built Doppel as a set of structured, AI-driven workflows that handle everything from persona creation to decision-making.
The backend is responsible for:
- Turning each user profile into a consistent, user-specific AI doppelgänger
- Orchestrating structured, turn-based conversations between pairs of doppelgängers
- Evaluating those conversations using a separate judge model
- Producing clear, explainable summaries and compatibility scores for both users
- Applying quality thresholds to decide when a mutual connection is worth surfacing
When both users choose to continue after a high-quality match, the backend moves beyond chat. It checks both users’ shared availability, finds overlapping time windows, and schedules a tentative slot for the next conversation. Along with this, both users receive a concise summary of why the match worked and what their doppelgängers surfaced.
This closes the loop between AI discovery and real human interaction. The system doesn’t just suggest a match, it helps both people actually take the next step.
We used Supabase for authentication and database management, handling user accounts, profile data, and persistent state. This gave us a secure, production-ready foundation while keeping the AI logic cleanly separated in Gumloop.
Challenges we ran into
One of our biggest challenges was making sure AI personas felt accurate without overstepping or inventing details. We had to carefully constrain prompts so each doppelgänger faithfully reflected its respective user rather than creating exaggerated or generic versions.
Designing a fair evaluation step was also difficult. Scoring conversations is subjective, and small changes in prompts could lead to very different outcomes. We spent a lot of time tuning this to keep results consistent, explainable, and balanced across both sides.
Finally, we had to balance automation with consent. It was important that the system never felt pushy or asymmetric, especially when moving from AI-to-AI conversations to real human interaction.
Each of these challenges forced us to slow down, rethink assumptions, and build more intentionally.
Accomplishments that we're proud of
We built a system that doesn’t just match profiles, but evaluates real conversations between two AI representations and turns them into actionable signals.
We’re proud that we leaned fully into Gumloop and designed the entire backend as structured, multi-step workflows rather than traditional server logic.
We also care deeply about how this feels to users. From consent-based matching to clear summaries and scheduled follow-ups, we focused on building something that respects both people’s time and attention.
Most importantly, we took a simple idea and turned it into a working end-to-end experience that bridges AI discovery with real, mutual human connection.
Beyond the concept, Doppel is a production-ready application. The system is fully deployed, handles real users, and is built with scalability, reliability, and security in mind. From authentication to scheduling, every part of the flow is designed to work end-to-end in a real-world setting, not just as a prototype.
What we learned
We learned that conversation reveals far more than profiles ever can. Even short, structured AI-to-AI interactions surface intent, curiosity, and alignment in ways static information cannot.
We also learned that AI is most powerful when it stays in the background. When used as a mutual filter rather than a replacement, it can reduce noise without taking away human agency.
On a technical level, we learned how small design decisions in prompts, structure, and evaluation can dramatically change outcomes. Building thoughtfully mattered more than building fast.
Finally, we learned that trust is earned through transparency. Clear summaries, opt-in decisions, and respect for boundaries made the system feel helpful rather than intrusive.
What's next for Doppel
We want to give users more control over how their doppelgänger represents them, from communication style to the kinds of connections they are looking for.
We also plan to support different matching contexts, such as networking, mentorship, collaboration, and dating, each with its own conversation structure and evaluation criteria.
On the system side, we want to improve long-term learning by letting doppelgängers evolve as users interact, while still keeping privacy and consent at the core.
Most importantly, we want to keep Doppel human-first. The goal is not to automate connection, but to make meaningful conversations easier to start and more likely to happen for both people involved.
Built With
- gumloop
- nextjs
- react
- supbase
- tailwind
- typescript
- vercel



Log in or sign up for Devpost to join the conversation.