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

발행: (2026년 1월 6일 오전 03:43 GMT+9)
5 min read
원문: Dev.to

Source: Dev.to

App Screenshot 1
App Screenshot 2
App Screenshot 3

“만약 세계에서 가장 똑똑한 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 실험을 위해 팔로우해 주세요.

Back to Blog

관련 글

더 보기 »

기술은 구원자가 아니라 촉진자다

왜 사고의 명확성이 사용하는 도구보다 더 중요한가? Technology는 종종 마법 스위치처럼 취급된다—켜기만 하면 모든 것이 개선된다. 새로운 software, ...

에이전틱 코딩에 입문하기

Copilot Agent와의 경험 나는 주로 GitHub Copilot을 사용해 인라인 편집과 PR 리뷰를 수행했으며, 대부분의 사고는 내 머리로 했습니다. 최근 나는 t...