나는 Flutter와 AI로 8시간 만에 AI 보드룸 앱을 만들었습니다 🚀 (오픈소스)
Source: Dev.to



“만약 세계에서 가장 똑똑한 AI 모델들로 구성된 이사회가 실시간으로 당신의 문제를 토론한다면?”
그 질문이 바로 LLM Council, 점심과 저녁 사이에 완전히 만든 결과물로 이어졌습니다.
영감
저는 Andrej Karpathy(OpenAI 창립 멤버이자 전 Tesla AI 디렉터)가 자신의 프로젝트인 llm-council을 트위터에 올린 것을 보았습니다.
그의 웹 인터페이스는 질문을 입력하면 여러 LLM(GPT‑4, Claude 등)으로부터 답변을 모아 주고, 모델들이 서로의 응답을 읽게 한 뒤 “의장” 모델이 가장 좋은 조언을 종합해 줍니다.
저는 이 경험을 내 손안에 담고 싶었습니다—다크 모드, 골드 포인트, 부드러운 애니메이션까지 갖춘, 마치 이사회실에 들어선 듯한 프리미엄급 모바일 앱을 말이죠.
기술 스택
- Flutter 3.6+ – iOS와 Android에서 부드러운 60 fps UI.
- Bloc & Clean Architecture – 복잡한 코드 없이 빠른 개발.
- OpenRouter API – Claude 3.5 Sonnet, GPT‑4o, Gemini 1.5 Pro 등을 한 키로 접근.
- Antigravity – 나의 페어 프로그래머 역할을 한 AI 코딩 어시스턴트.
“점심부터 늦은 저녁” 스프린트 (오후 1시 – 오후 9시)
오후 1시 – The Setup 🏗️
Flutter 프로젝트를 초기화하고 도메인 레이어를 생성했습니다:
User → Question → Council → Deliberation → Synthesis.
오후 2시 30분 – The Antigravity Boost 🚀
Antigravity에 프롬프트:
“Generate a repository that hits OpenRouter. It needs to handle streaming responses from 4 different models simultaneously.”
Antigravity는 Dio 인터셉터, 오류 파싱, 그리고 동시 Future.wait 호출을 포함한 완전한 구현을 제공했습니다.
오후 4시 30분 – UI Polish ✨
“Succession‑style” 미학을 디자인했습니다:
- Deep navy background (
#0F172A) - Gold accents for the active speaker
- Anonymized peer reviews (models rank each other blindly)
flutter_animate를 사용해 슬라이딩‑인 메시지를 구현했습니다.
오후 6시 30분 – Synthesis Logic 🧠
Chairman 모델을 구현했습니다:
“Review these perspectives and provide a synthesized, executive summary.”
그 결과 답변은 단일 모델보다 더 균형 잡히고 미묘했습니다.
오후 8시 – Final Optimizations & Testing 🏁
- Added local persistence with
sqflite. - Secured API‑key storage.
- Refined the Chairman animation for buttery smoothness.
오후 9시 – Commit, push, and dinner.
코드 (오픈 소스)
전체 프로젝트는 오픈 소스입니다. 복제하고, 자신의 API 키를 추가한 뒤, 개인 AI 이사회(이사회)를 구성하세요.
👉 github.com/sayed3li97/llm_council_app
Future 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);
}
왜 이것이 중요한가
개발은 단순한 타이핑 속도에서 아키텍처 비전과 도구 활용으로 전환되고 있습니다. Antigravity와 같은 AI 어시스턴트를 사용하면, 나는 제품 경험—애니메이션, 흐름, 가치—에 집중할 수 있고 AI가 배관 작업을 처리했습니다.
8시간 만에 만든 프로덕션 준비가 된 앱은 올바른 도구와 명확한 비전이 만나면 어떤 것이 가능한지를 보여줍니다.
당신은 무엇을 만들 건가요?
이 글이 마음에 드셨다면, 레포지토리에 별을 달고 더 많은 Flutter & AI 실험을 위해 팔로우해 주세요.