Inspiration
We've all been there. Someone proposes a group trip, everyone gets excited, and the group chat starts buzzing with ideas. But then reality sets in. One person has a strict budget, another can only travel on certain dates, someone prioritizes comfort, and someone else just wants the cheapest option.
Before long, what started as an exciting plan becomes an endless cycle of compromises, disagreements, and unanswered messages. Eventually, the trip never happens.
We realized that the problem isn't a lack of desire to spend time together. It's the friction of planning together.
Existing group planning tools help people organize schedules, share itineraries, and vote on options. But identifying the most popular choice doesn't necessarily resolve the underlying conflict. The majority's preference may still violate someone's budget, schedule, or personal boundaries.
We believe group coordination is fundamentally a human behavioral problem, not just a logistics problem.
People have different motivations, communication styles, social pressures, and boundaries. Someone might agree to an expensive trip because they don't want to disappoint their friends. Someone else might stay silent because negotiating their needs feels uncomfortable.
A shared calendar cannot resolve these tensions. Neither can a simple majority vote.
We wanted to build a system that could understand individual needs, facilitate meaningful negotiation, and identify compromises that people could genuinely agree to.
That's how Tandem was born.
What it does
Tandem is a multi-agent AI platform where personalized agents advocate for each person's needs, negotiate conflicting preferences, and intelligently optimize group plans so everyone has a say.
Each participant has a personalized AI agent that represents their individual constraints, preferences, and priorities. Users can privately communicate concerns to their agents, including things they may not feel comfortable expressing to the entire group.
Rather than simply aggregating preferences or taking a vote, Tandem's agents negotiate to understand where users' needs overlap, where conflicts exist, and which tradeoffs might be acceptable.
A mediator agent facilitates these discussions, while a mathematical optimization engine evaluates potential plans against the group's constraints and preferences.
Our philosophy is simple: our agents negotiate to understand, not to win.
Importantly, Tandem distinguishes between two things:
- Feasibility is computed. Our optimization engine identifies plans that satisfy hard constraints and evaluates tradeoffs across flexible preferences.
- Agreement is human. Users review proposed compromises and explicitly approve decisions. We don't claim an algorithm can calculate the exact psychological point of consensus.
When circumstances change, Tandem can reevaluate affected decisions and propose adjustments while preserving existing commitments wherever possible.
Our Cal Hacks demonstration follows four friends planning a trip to Hawaii, but Tandem isn't fundamentally a travel planner. It's a general-purpose behavioral coordination platform designed to help people reach agreements despite conflicting needs.
How we built it
We designed Tandem around a multi-agent architecture with five interconnected components.
1. Personalized AI agents
Each participant is represented by an individual AI agent responsible for understanding and advocating for their needs and best interests.
The agents distinguish between non-negotiable constraints and flexible preferences, helping users communicate what matters most without having to disclose every personal consideration to the group.
2. Mediator agent
A central mediator facilitates negotiation between agents, identifies conflicting requirements, and helps the group explore possible compromises.
Unlike a voting system that selects the most popular option, our negotiation process aims to find proposals that respect each participant's boundaries and maintain satisfaction among all members of a party.
3. Constraint-based optimization engine
We developed an optimization layer that translates group requirements into structured constraints and evaluates candidate plans.
The engine distinguishes between hard constraints, which must be satisfied, and soft preferences, which inform optimization. It also considers monetary costs, resource allocation, and dependencies between planning decisions.
A key architectural goal was making the optimizer domain-agnostic, allowing the same core optimization framework to support different planning scenarios.
4. Real-world data and shared state
We integrated Apify to discover real-world planning options and SpacetimeDB to maintain shared planning state.
These components connect negotiations to available candidate options and coordinate changes, proposals, and user decisions throughout the planning process.
5. Collaborative, human-in-the-loop interface
We built a collaborative interface that keeps humans actively involved throughout the planning process. Users can communicate privately with their personalized agents, explore proposed compromises, negotiate tradeoffs, and collectively shape their plans.
Rather than passively accepting AI-generated decisions, participants remain in control, providing feedback, revising preferences, and explicitly approving agreements before moving forward.
Our goal isn't to automate human collaboration away, but to make it easier. By letting AI handle the complexity of coordination, Tandem preserves what makes planning meaningful in the first place: people coming together, sharing ideas, and making decisions as a group.
Challenges we ran into
Designing a domain-agnostic optimization engine
One of our biggest technical challenges was building an optimization framework capable of supporting fundamentally different planning decisions.
Flights involve departure times, arrival times, and travel dependencies. Accommodation introduces capacity constraints, shared costs, and room configurations. Activities may involve selecting multiple options instead of exactly one.
We had to distinguish between reusable optimization logic and domain-specific constraints without hardcoding the entire system around travel.
Managing dynamic changes and dependencies
Real-world plans are rarely static. Budgets change, schedules shift, and people reconsider their preferences.
We needed to determine how to reassess affected decisions without unnecessarily undoing previously agreed-upon commitments.
This required us to think carefully about dependencies between planning stages and the relationship between optimization and human approval.
Making AI agents meaningfully personalized
Another major challenge was defining what it means for an agent to genuinely represent a person.
A simple preference questionnaire cannot capture everything that influences human decisions. People have different priorities, communication styles, boundaries, and willingness to compromise.
We explored how agents could gather meaningful context through private conversations while distinguishing between hard constraints and flexible preferences.
Bridging mathematical optimization and human negotiation
An option can be mathematically feasible without being socially acceptable.
We therefore needed to avoid treating an optimizer's output as an automatically accepted group decision.
Our architecture separates candidate optimization from human agreement, allowing agents to propose compromises while leaving final approval with the participants.
Accomplishments that we're proud of
Bringing multi-agent negotiation and mathematical optimization together
We're proud of developing an architecture that combines personalized AI agents, a mediator, and a constraint-based optimization engine. Rather than relying exclusively on language models to generate recommendations, Tandem brings structured mathematical reasoning into a fundamentally human decision-making process.
Designing beyond a single use case
Although our demonstration focuses on a group trip to Hawaii, we approached the architecture with a broader vision. Designing the optimization layer around reusable constraints and decision structures was an important step toward supporting different types of collaborative planning.
Keeping humans at the center of an agentic system
One of our most meaningful product decisions was making human participation a core requirement rather than an optional final step. Agents can advocate, negotiate, and recommend, but users retain the ability to influence proposals, reconsider tradeoffs, and approve agreements.
Building a shared vision across product and engineering
We're also proud of translating an abstract problem about human behavior into a concrete technical system. Aligning agent behavior, mathematical optimization, data retrieval, shared state, and an intuitive user experience required us to think across product design and engineering rather than treating them as separate challenges.
What we learned
Building Tandem changed how we think about multi-agent AI.
We realized that the most interesting applications of multi-agent systems aren't necessarily situations where agents cooperate toward one shared objective, but where they represent different stakeholders with competing priorities.
We also learned that mathematical optimization and human negotiation solve fundamentally different problems.
Optimization can determine whether a proposal satisfies explicit constraints and identify better tradeoffs. But it cannot determine whether someone genuinely feels comfortable accepting those tradeoffs.
That distinction reinforced our belief that AI should facilitate consensus, not manufacture it.
From an engineering perspective, we learned how difficult it is to abstract optimization across domains, coordinate multiple agents, manage evolving constraints, and connect real-world data to a collaborative decision-making process.
Most importantly, we learned that the best group plan isn't necessarily the option preferred by the most people or the one with the highest numerical score.
It's a feasible plan that everyone has had a meaningful opportunity to shape and freely chooses to accept.
What's next for Tandem
Our vision for Tandem extends far beyond group travel.
The same coordination challenges arise when organizing events, planning shared activities, making household decisions, or managing collaborative projects.
We want to expand Tandem's domain coverage, improve how personalized agents understand users' evolving preferences, and make negotiation processes increasingly transparent and adaptive.
Our long-term vision is a general-purpose behavioral coordination platform that helps people navigate competing interests without sacrificing individual agency.
Because meaningful consensus isn't about everyone wanting the same thing. It's about finding a way forward that everyone can genuinely agree to.
Built With
- agentic-ai
- anthropic
- apify
- cartesia
- claude-sonnet-5-5
- computer-vision
- constraint-optimization
- google-cp-sat-alrogrithm
- human-in-the-loop
- langgraph
- llm
- multi-agent-ai
- next.js
- or-tools
- pydantic
- python
- react
- spacetimedb
- three-js
- typescript
- voice-ai

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