Council: Your Inner Circle

Inspiration

Council began with a painfully simple problem:

Sometimes you desperately need to talk, but there is nobody you can truly talk to.

During difficult periods of anxiety, loneliness, uncertainty, and overthinking, we realized that even people who care may not have the time, emotional bandwidth, or context to listen deeply.

Friends may forget important details. Therapy can be expensive, inaccessible, rushed, or occasionally feel generic and disconnected from the full story of a person's life.

We did not want to build another chatbot that gives motivational quotes and forgets everything when the conversation ends.

We wanted to create the support system we wished existed: an entire inner circle that listens without judgment, remembers what matters, understands your patterns, and helps you find clarity when your own mind becomes difficult to navigate.

That became Council.


What It Does

Council gives every user a private inner circle of AI guides dedicated to understanding their situation from multiple perspectives.

It has two main modes:

1. Voice Mode

Voice Mode is a face-to-face, video-call-style experience where the user can speak naturally with three dedicated guides:

  • A therapist, who helps the user understand emotions, thoughts, and behavioral patterns.
  • A guide, who brings structure, perspective, and practical direction.
  • A friend, who listens with warmth, empathy, and familiarity.

Instead of typing into a traditional chatbot, the user can speak openly and feel as though they are sitting across from people who are genuinely listening.

Each guide approaches the same situation differently, helping the user feel heard while also gaining emotional clarity and practical next steps.

2. Council Discussion

Council Discussion creates a dynamic group of specialized agents based on the user's problem.

The agents independently analyze the situation, challenge one another's assumptions, debate possible solutions, and combine their perspectives into one thoughtful response.

For example, a discussion may include agents focused on:

  • Mental health
  • Relationships
  • Career decisions
  • Physical well-being
  • Motivation
  • Risk analysis
  • Long-term planning

Rather than receiving one immediate answer from one model, the user gets the benefit of collective intelligence centered around their life and circumstances.

The goal is not to tell the user what to do. The goal is to help them see the situation more clearly, recognize perspectives they may have missed, and make a better decision for themselves.


Privacy and Safety

Council is designed as a deeply personal and private space.

Conversations are handled with care, and the experience is built around the principle that users should be able to express themselves without feeling watched, judged, or exposed.

Council is not intended to replace licensed medical care, emergency services, or professional therapy. Instead, it acts as an accessible layer of emotional support, reflection, and perspective for moments when someone feels alone or mentally overwhelmed.


How We Built It

Council was built as a multi-agent AI system rather than a traditional single-chatbot application.

The experience is divided into several layers:

Multi-Agent Architecture

Each guide has a distinct role, personality, reasoning approach, and objective.

In Voice Mode, the therapist, guide, and friend remain consistent so the interaction feels familiar and personal.

In Council Discussion, agents are generated dynamically depending on the user's situation. A relationship problem may require a very different council from a career, health, or financial decision.

Orchestration

A central orchestration system determines:

  1. Which agents are relevant to the user's problem.
  2. What context each agent should receive.
  3. In what order the agents should respond.
  4. Where the agents agree or disagree.
  5. How their conclusions should be combined into one coherent answer.

Conceptually, the final response can be represented as:

$$ R = S(A_1(x), A_2(x), \ldots, A_n(x), M) $$

Where:

  • (x) represents the user's current situation.
  • (A_1 \ldots A_n) represent the different agents.
  • (M) represents relevant memory and previous context.
  • (S) represents the synthesis process.
  • (R) represents the final Council response.

Voice Experience

The voice system allows users to speak naturally instead of carefully formatting their thoughts into text.

We worked on:

  • Real-time speech input
  • Voice activity detection
  • Speech-to-text transcription
  • Streaming AI responses
  • Text-to-speech generation
  • Audio interruption handling
  • Echo cancellation
  • Turn-taking between the user and multiple agents

The interface was designed to feel closer to entering a private call than opening a productivity tool.

Memory and Context

Council maintains relevant context so the user does not have to repeatedly explain their entire life.

The system identifies important information, patterns, concerns, relationships, goals, and previous conversations, then provides the appropriate context to each guide.

This allows the agents to respond not only to what the user says in the current moment, but also to the broader story behind it.

Interface

The application was built with a modern, calming interface designed to reduce cognitive overload.

We used technologies including:

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • OpenAI models
  • Codex
  • Real-time voice and speech technologies
  • WebRTC and browser audio APIs

Codex helped us move rapidly from ideas to working implementations, debug complex voice interactions, improve the multi-agent architecture, and iterate on the product experience.


Challenges We Faced

Making Multiple Agents Feel Meaningfully Different

One of the first challenges was preventing every agent from producing slightly different versions of the same generic answer.

We had to give each agent a clearly defined purpose, reasoning style, boundaries, and access to relevant context.

The therapist should not sound exactly like the friend. The friend should not behave like a productivity coach. The guide should not simply repeat therapeutic observations.

Each voice needed to contribute something genuinely distinct.

Coordinating the Council

Allowing agents to respond independently was relatively straightforward.

The harder problem was making them collaborate.

We had to build systems that could identify disagreements, prevent repetitive answers, surface overlooked perspectives, and synthesize the discussion without removing the nuance that made multiple agents useful.

Real-Time Voice Interaction

Voice conversations introduced challenges that text chat does not have.

The system needed to distinguish between the user's voice and the agent's audio, handle interruptions naturally, reduce echo, avoid overlapping speech, and respond with low enough latency to preserve the feeling of a real conversation.

Even small delays or audio errors could make the experience feel artificial.

Memory Without Overloading the Model

Giving agents too little context made them feel forgetful.

Giving them too much context made responses slower, more expensive, and sometimes less focused.

We had to explore ways to summarize conversations, retrieve only relevant memories, and preserve important emotional details without sending the user's entire history into every interaction.

Emotional Responsibility

Council is designed for people who may be anxious, lonely, overwhelmed, or emotionally vulnerable.

That created a responsibility to avoid overconfidence, harmful advice, emotional dependency, and language that could make an AI system appear to be a replacement for professional care.

We had to balance warmth and helpfulness with clear boundaries and safety-conscious behavior.


What We Learned

We learned that simply adding more agents does not automatically create better answers.

A useful multi-agent system requires:

  • Distinct roles
  • Relevant context
  • Structured disagreement
  • Careful orchestration
  • Strong synthesis
  • A clear reason for every agent to exist

We also learned that users do not always need immediate advice.

Sometimes they first need to feel understood. Sometimes they need their thoughts organized. Sometimes they need someone to challenge them. Other times, they simply need a safe place to speak without being interrupted.

Voice also changes how people interact with AI. Users speak more naturally, reveal more context, and communicate emotions that may never appear in a carefully written text message.

Most importantly, we learned that the best response is rarely the most confident one.

The best response often acknowledges uncertainty, considers multiple interpretations, and helps the user think rather than thinking on their behalf.


What's Next

Our long-term goal is to make Council an increasingly personal and useful support system while preserving user privacy and emotional safety.

Future improvements include:

  • Better long-term memory
  • More specialized council members
  • Improved real-time voice latency
  • More natural group discussions
  • User-controlled memory and privacy settings
  • Personalized progress insights
  • Optional conversation summaries
  • Crisis and professional-support resources
  • Multilingual voice conversations
  • Mobile applications

We want Council to become a space people can enter when their thoughts feel too loud and leave with greater clarity, perspective, and hope.

Collective wisdom, centered around you.

Built with the help of OpenAI, ChatGPT, and Codex.

Built With

  • chatgpt
  • cloudflare
  • codex
  • elevenlabs-api
  • elevenlabs-realtime-tts
  • elevenlabs-scribe
  • framer-motion
  • gpt-5.6
  • mediasource-extensions
  • next.js
  • openai
  • openai-api
  • openai-realtime-api
  • react
  • speech-recognition
  • tailwind-css
  • typescript
  • vercel
  • web-audio-api
  • webrtc
  • zustand
Share this project:

Updates