Inspiration

Single LLM outputs are risky for high-stakes decisions. Ask ChatGPT whether you should acquire a company and you'll get a confident-sounding answer — but no stress-testing, no adversarial review, no acknowledgment of what it doesn't know. In finance, strategy, and compliance, that's dangerous.

We were inspired by how real investment committees and judicial panels operate: multiple experts with different mandates debate a decision, challenge each other's assumptions, and only reach consensus after surviving rigorous scrutiny. We asked: what if AI agents could do the same thing — not just generate an answer, but actually deliberate?

Council was born from that question. Instead of one AI giving you a take, Council convenes four specialized agents — a Financial Analyst, a Contrarian, a Compliance Validator, and a Council Summarizer — who argue, challenge assumptions, validate positions, and only lock in a recommendation when the process is complete. No blind trust. Every conclusion is pressure-tested by design.

What it does

Council is a web platform where users submit a decision topic and an AI council deliberates through a structured multi-phase process:

Analysis Phase — Each specialist agent provides domain-specific analysis Challenge Phase — The Contrarian attacks every other agent's analysis, finding flaws and blind spots Validation Phase — Challenged agents respond to the critique with counter-evidence Lock Phase — All agents submit final positions with confidence scores Summary — The Summarizer synthesizes everything into a coherent recommendation Every argument is persisted and auditable.

How we built it

Frontend: Next.js 16, React 19, Tailwind CSS 4, shadcn/ui

AI Engine: OpenAI-compatible chat completions (z-ai API / GLM-4-Flash) with sequential multi-phase orchestration

Database: Aurora DSQL on AWS with Prisma ORM, relationMode = "prisma" for distributed compatibility

Auth: Manual AWS SigV4 signing for DSQL IAM tokens (15-min expiry, 12-min cache)

Deployment: Vercel serverless — fully zero-infrastructure

Challenges we ran into

The biggest challenge was Aurora DSQL IAM authentication. Three standard libraries failed (aws4, @aws-sdk/signature-v4, botocore) — all produced tokens DSQL rejected. We reverse-engineered the exact canonical request format DSQL expects by reading its error messages, then implemented SigV4 signing from scratch using Node.js crypto. That finally worked.

Other challenges: Vercel framework detection issues, DSQL's lack of synchronous indexes, and serverless cold starts with token refresh timing.

Accomplishments we're proud of

Working multi-agent deliberation where agents actually argue and refine positions Manual SigV4 signing that works where 3 standard libraries failed Fully serverless — zero infra, deployed on Vercel + DSQL Complete audit trail and quality gate framework

What we learned

SigV4 implementations differ subtly across libraries — DSQL is extremely strict about canonical format Multi-agent quality depends entirely on prompt design and context chaining between phases A contrarian agent is essential — without one, LLMs just agree with each other DSQL is powerful but has sharp edges (async indexes only, no native FKs, IAM-only auth)

What's next

Streaming deliberation — watch the debate unfold in real-time Configurable agent panels — users compose their own council Knowledge-grounded analysis — RAG pipelines for document-backed deliberation PDF export — compliance-ready deliberation reports Multi-round deliberation — iterative challenge/validate cycles for higher confidence

Built With

Share this project:

Updates