
AIdeas: Vibe Matching
AI digital twins have deep conversations on your behalf to find people who truly click with you.
App Category
Social Impact
My Vision
When people meet, what truly matters is not a superficial profile, but compatibility in values and communication styles.However, with traditional matching services, users can only judge based on photos and short bios — the only way to discover deeper compatibility is through repeated real conversations.
Vibe Matching solves this problem with AI digital twins.
Based on a user's profile and values, it creates a "digital twin (AI clone)" that reproduces their personality, speaking style, and way of thinking. Then, without the user lifting a finger, digital twins automatically converse with each other in the background, evaluating alignment in values and communication compatibility.
Your AI counterpart has deep conversations with hundreds of potential matches on your behalf to find the people who truly click with you.


When an interesting candidate is found, you can chat directly with their digital twin for a "deep-dive interview" to verify compatibility with your own eyes.And only when both sides feel "I want to meet this person" do the real users connect for the first time.
Why This Matters
1. Fundamentally Changing the Inefficiency of Meeting People
Modern matching apps demand enormous amounts of time and emotional energy from users. Endlessly swiping through profiles, repeating shallow conversations, only to realize "we weren't a match" — this cycle exhausts many people.Vibe Matching eliminates this "matching fatigue" by having AI evaluate deep-level compatibility in advance.
2. Connecting Through Substance, Not Surface
Rather than superficial criteria like photos, occupation, or income, Vibe Matching prioritizes compatibility at a deeper level — values, communication styles, and ways of thinking. Digital twins evaluate engagement and value alignment through 10+ conversation turns, discovering "truly compatible people" that conventional algorithm-based matching could never find.
3. A New Form of AI-Human Collaboration
This project is more than just a matching app.It's a practice of a new paradigm: AI supporting human decision-making as a proxy.Digital twins faithfully reproduce human individuality and perform massive exploration on their behalf — this has potential applications beyond romance and friendship, extending to business partnerships, team building, and any form of "people matching."
4. Technology Should Not Make People Lonelier
As technology advances, there's a growing paradox: human relationships become thinner. Vibe Matching is a challenge to redefine technology not as something that divides people, but as something that connects them. By harnessing AI to create truly meaningful connections, I aim to make a dent in the broader problem of social isolation.
How I Built It
Tech Stack
- Backend: Python 3.11 + FastAPI
- Frontend: Next.js 15 (TypeScript)
- AI: AWS Bedrock (Amazon Nova Pro)
- Infrastructure: AWS (Bedrock, Lambda, API Gateway, DynamoDB, Amplify, S3)
- IaC: Terraform
- Development Methodology: Kiro Spec-Driven Development
Architecture
Why AWS Bedrock + Amazon Nova Pro?
I chose to call AWS Bedrock directly rather than using Strands Agents because digital twins only need to perform a simple task: "have a conversation."Strands Agents offers advanced features like tool calling and agent loops, but none of those were needed here — calling the API directly was the right fit.
Amazon Nova Pro was ideal for the digital twins.I considered Claude as well, but given the nature of this use case — AI agents conversing back and forth many times — I needed a model with a low per-token cost.Nova Pro delivers sufficient performance for conversational applications while offering excellent cost-effectiveness, making it my choice.
Why Kiro?
I adopted Kiro's Spec-Driven Development for this project.
With so-called vibe coding, you can build something quickly, but code quality tends to suffer, and refactoring later becomes painful.With Kiro, I locked down specifications step by step — Requirements → Design → Tasks — before implementation begins, resulting in virtually zero rework and enabling me to build a high-quality application at high speed.
With so-called vibe coding, you can build something quickly, but code quality tends to suffer, and refactoring later becomes painful.With Kiro, I locked down specifications step by step — Requirements → Design → Tasks — before implementation begins, resulting in virtually zero rework and enabling me to build a high-quality application at high speed.
I ultimately created 12 Specs for this project.Beyond the initial MVP design, I also created Specs for major changes that arose mid-development, such as "migrating from Strands Agents to AWS Bedrock" and "refactoring to the repository pattern."Even with these mid-course pivots, by putting them through the requirements → design → tasks workflow, I could organize the impact scope in advance and carry out refactoring safely.
Since models can be flexibly switched, I developed efficiently by choosing different models based on task volume and difficulty.With specifications fully defined, E2E testing with Playwright MCP was also straightforward. As someone who primarily works on AI Agent development, I rarely write frontend code, but I was able to develop without any difficulty.
Development Milestones
- Requirements definition and system design (Kiro Spec-Driven)
- Backend API and digital twin generation engine
- Migration to AWS Bedrock (Amazon Nova Pro)
- Frontend UI implementation (dashboard, deep-dive interview screen)
- User authentication (Cognito) and infrastructure setup (Terraform)
- CI/CD pipeline setup (GitHub Actions)
- Fully mocked local environment (MVP verification without AWS)
Demo
What I Learned
Per-Token Cost Shapes Architecture
When building services with LLMs, token cost is an unavoidable concern. For a demo where four digital twins converse, any model would work without significant expense.At the hackathon stage, using Claude would have been perfectly fine.
But what happens when this scales to a million users? In an architecture where AIs converse back and forth multiple times, even small differences in per-token cost multiply into costs that are tens or hundreds of times greater. Looking ahead to future scale, I decided it was best to design around the lower per-token cost of Nova Pro from the start.
Model selection should not be based on "will it work at current scale?" but rather reverse-engineered from "will the cost structure hold up at scale?"
AI-to-AI Conversation Is Different from Human Conversation
One thing that surprised me during development: AI-to-AI conversation has a fundamentally different nature from human-to-human conversation. Humans meander through small talk and tangents, but AI conversations have almost no wasted exchanges — they consistently get to the substance.
For a general chatbot, this might feel unnatural. But for Vibe Matching, it turned out to be a feature, not a bug. The app's purpose is "finding compatibility through conversation," and efficient, waste-free dialogue improves both the accuracy and efficiency of compatibility assessment.

What takes humans dozens of conversations to figure out, digital twins can discern in just a few exchanges. This is a strength that only AI-to-AI interaction can deliver.
Enjoyed reading this content? Let the author know!
Your likes, comments, shares, and saves help creators reach more builders.
Loading recommendations
Loading article