![]() |
![]() |
![]() |
|---|
"What if you could have a board of directors made up of the world's smartest AI models, debating your problems in real-time?"
That was the question. The result? LLM Council.
And the craziest part? I built the entire mobile app between lunch and late dinner.
As a Google Developer Expert in Flutter, I've built hundreds of apps, but the speed at which we can now ship software using AI tools like Antigravity is frankly mind-blowing.
Hereβs the story of how I took inspiration from an AI legend, fired up my IDE, and shipped a premium cross-platform app in a single day. π
π‘ The Inspiration
It started when I saw Andrej Karpathy (founding member of OpenAI, former Director of AI at Tesla) tweet about his project: llm-council.
He built a web interface where you can ask a question, and multiple LLMs (GPT-4, Claude, etc.) answer it. Then, they "read" each other's answers and a "Chairman" model synthesizes the best advice.
I loved the concept. But I wanted it in my pocket.
I wanted a premium, executive-tier mobile experience. Something that felt like walking into a boardroom. Dark mode, gold accents, smooth animations.
So I challenged myself: Can I build this before dinner?
π οΈ The Tech Stack
To move fast without breaking things, I stuck to a battle-tested stack:
- Flutter 3.6+: For that silky smooth 60fps UI on iOS and Android.
- Bloc & Clean Architecture: Because "fast" shouldn't mean "messy code".
- OpenRouter API: To access all models (Claude 3.5 Sonnet, GPT-4o, Gemini 1.5 Pro) with one key.
- Antigravity: The AI coding assistant that acted as my pair programmer on steroids.
β‘ The "Lunch to Late Dinner" Sprint (1:00 PM - 9:00 PM)
1:00 PM - The Setup ποΈ
I didn't waste time on boilerplate. I initialized the Flutter project and set up the domain layer.
User -> Question -> Council -> Deliberation -> Synthesis.
2:30 PM - The "Antigravity" Boost π
This is where things got wild. Instead of manually typing out every model class and repository, I used Antigravity.
Me: "Generate a repository that hits OpenRouter. It needs to handle streaming responses from 4 different models simultaneously."
Antigravity: Done.
It didn't just write code; it wrote good code. It handled the Dio interceptors, the error parsing, and the concurrent Future.wait calls for the council members.
4:30 PM - The UI Polish β¨
A "Council" implies prestige. A standard Material Design look wouldn't cut it.
I went for a "Succession-style" aesthetic:
-
Deep Navy Backgrounds (
#0F172A) - Gold Accents for the active speaker.
- Anonymized Peer Reviews: Models rank each other blindly (Model A doesn't know Model B wrote the answer).
I implemented flutter_animate to make the messages slide in. It felt alive.
6:30 PM - The Synthesis Logic π§
The magic of this app is the Chairman.
The app aggregates all the answers, strips the names, and feeds them back to the Chairman model with the prompt:
"Review these perspectives and provide a synthesized, executive summary."
The result? Answers that are significantly more balanced and nuanced than any single model could provide.
8:00 PM - Final Optimizations & Testing π
The last hour was spent on:
- Adding local persistence with
sqfliteso conversations are saved. - Securing the API key storage.
- Ensuring the "Chairman" animation was buttery smooth.
- 9:00 PM: Commit, Push, Done. Dinner time.
π§βπ» The Code (Open Source)
Iβm making the whole thing open source. You can clone it, put in your own keys, and have your personal AI board of directors.
Check out the repo here:
π github.com/sayed3li97/llm_council_app
(Note: If the link is 404, I'm just polishing the README! Check back in 5 mins)
Here is a snippet of how we handle the parallel consultation using Dart's concurrency:
Future<CouncilSession> consult(String query) async {
// 1. Fire off requests to all members in parallel
final responses = await Future.wait(
members.map((model) => _api.ask(model, query))
);
// 2. Anonymize and Request Peer Reviews
final reviews = await _conductPeerReviews(responses);
// 3. Synthesis by Chairman
return _chairman.synthesize(responses, reviews);
}
π Why This Matters
We are entering a new era of development. It's not about typing speed anymore; it's about architectural vision and tool leverage.
As a GDE, my advice to developers in 2026 is simple: Embrace the tools.
by using an AI agent like Antigravity, I focused on the product experience the animations, the flow, the value while the AI handled the plumbing.
I built a production-ready app in 8 hours.
What will you build?
If you enjoyed this, drop a star on the repo and follow me for more Flutter & AI experiments!



Top comments (0)