A few weeks ago, I found myself at the TUM.ai × Anthropic Hackathon — 24 hours to build something meaningful with AI. My team and I took the brief, ran with it, and walked out without a prize — but with something arguably more valuable: a deep understanding of multi-agent systems, and a working product we're genuinely proud of.

The Challenge
The brief from AskLio (now rebranded to Lio) was refreshingly direct. No corporate framing, no lengthy rubric — just a pointed question:
“Was that actually good? Or did I just leave 30% on the table?”
Their challenge: build a multi-agent system, a brilliant single agent, or a smart automation that negotiates for you. Format, stack, and approach were fully open. The only requirement was ambition: “build agents that redefine how negotiations are done.”
The Problem We Wanted to Solve
B2B procurement is tedious. If you're a procurement manager trying to buy 10,000 metal enclosures, you're probably juggling emails with five different suppliers, copy-pasting price comparisons into a spreadsheet, and crafting yet another “per our last conversation” follow-up at 11 PM.
The painful part isn't the decision-making — it's the repetitive, context-heavy communication work that precedes it. We wanted to automate that. Not with generic email templates, but with a system smart enough to actually negotiate.
What We Built
Hard Baller is a single-page procurement negotiation agent. The entire flow starts with plain English:
“I want to buy 1,600 basketballs by next month with a budget of $10,000.”
From that one sentence, the agent:
- Researches vendors — finding real suppliers and analyzing their market position, pricing power, and company profile using live web search
- Contacts at least 3 vendors automatically — firing off opening emails without any manual input
- Tracks negotiations in parallel — maintaining separate conversation threads per vendor
- Generates culturally-tailored emails — our centerpiece feature

The Highlight: Culture-Aware, Context-Aware Emails
This is where most “AI email tools” get it wrong. They produce the same polished but hollow template, regardless of who's on the other end.
We took a different approach. Before drafting any email, the agent analyzes the vendor's cultural background. Negotiating with a supplier in Shenzhen? The agent understands high-context communication norms, the importance of maintaining “face” (Mianzi), and defaults to a relationship-first, formal tone. Reaching out to a Nordic manufacturer? Different register entirely.
Beyond culture, the email is also shaped by conversation history and cross-supplier dynamics — as other vendors submit better offers, the email content shifts to reflect competitive pressure, applying classic negotiation tactics like anchoring and competitor leverage.
The Architecture
Under the hood, Hard Baller is a multi-agent pipeline built on Google ADK (Agent Development Kit):
What I Learned
Google ADK is genuinely interesting
I'd worked with LangChain and custom orchestration before, but ADK's agent-as-pipeline model clicked well for this use case. Defining agents with explicit input/output schemas (via Pydantic) made the handoffs between agents clean and debuggable.
Multi-agent systems fail in interesting ways
The hardest bugs weren't crashes — they were silent degradations. An agent would technically produce an output, but it would be hallucinated, vague, or missing the context the next agent needed. We spent more time prompt-engineering the inter-agent contracts than we did building the UI.
Grounding matters more than cleverness
Early drafts of our emails were eloquent but unmoored from reality. Once we routed real vendor research through the pipeline before the email step, the outputs became dramatically more convincing. The model doesn't need to be more creative — it needs more facts.

What We'd Do Differently
- Better memory across negotiation rounds — a persistent negotiation memory store would make multi-week procurement cycles much more powerful
- Richer competitor benchmarking — structured pricing databases would sharpen the leverage arguments
- A proper feedback loop — letting the user rate email quality so the strategy adapts over time
Try It Yourself
The project is fully open source: github.com/panthibivek/hard-baller
You'll need a Google API key (for Gemini + Search) and an Anthropic API key (for Claude). Setup is straightforward — clone, install requirements, drop in your keys, and run python main.py.
Built at TUM.ai × Anthropic Hackathon. Team: Joshua, Bivek Panthi, and teammates.
Tech: Google ADK · Claude Sonnet · React · FastAPI · Google Search
Enjoyed this post? Check out what else I've been building.
See my other posts