babipanote·
#바이브코딩#claude-code#flutter#비개발자#AI개발#노코드대안#gentlelab

비개발자가 Claude Code로 Flutter 앱 3개 만든 과정 (바이브 코딩)

코딩 경험 없이 Claude Code(바이브 코딩)로 Flutter 앱 3개를 완성한 실전 후기. GentleDo, GentleFast, GentleStudy 개발 과정과 노코드 대비 장단점을 솔직하게 공유합니다.

읽는 시간 8

바이브 코딩이란? — AI로 코딩하는 새로운 방식

"바이브 코딩(Vibe Coding)"이라는 말이 있다. AI에게 자연어로 지시해서 코드를 생성하는 방식이다. Andrej Karpathy가 처음 쓴 표현인데, 요즘은 하나의 개발 방법론이 됐다.

나는 이걸 매일 한다. 코딩 경험 없이, Claude Code와 대화하며 Flutter 앱 3개를 동시에 만들고 있다.

왜 Claude Code를 선택했는가 — 노코드 도구와의 차이점

노코드 툴(FlutterFlow, Bubble 등)도 써봤다. 빠르지만 한계가 명확했다.

항목노코드 (FlutterFlow 등)바이브 코딩 (Claude Code)
진입 장벽매우 낮음낮음 (자연어)
커스터마이징제한적 (플랫폼 내)무제한 (코드 직접 생성)
복잡한 로직어려움가능 (알고리즘도 짜줌)
소유권플랫폼 종속내 레포에 코드 보유
비용월 구독 ($$)Claude 구독만
네이티브 기능제한적전부 가능 (위젯, 알림 등)

결정적으로, GentleDo의 모멘텀 감쇠 알고리즘이나 에너지 기반 태스크 필터링 같은 커스텀 로직은 노코드에서 구현이 불가능했다.

비개발자의 Flutter 앱 개발 과정 — 실제 워크플로우

나는 회사에서 기획을 한다. 코드를 읽을 줄은 알지만, 빈 파일에서 앱을 만들어본 적은 없었다.

비개발자의 Claude Code 바이브 코딩 워크플로우 — 6단계

실제 작업 흐름은 이렇다.

  1. PROJECT_BRIEF.md에 만들고 싶은 기능을 한국어로 쓴다
  2. CLAUDE.md에 코딩 규칙을 정의해둔다 (Riverpod 쓸 것, 빨간색 금지, ARB로 다국어 등)
  3. Claude Code에게 "오늘 할일 탭의 타임라인 뷰를 만들어줘"라고 말한다
  4. Claude가 코드를 생성하고, 나는 시뮬레이터에서 확인한다
  5. "이 부분 간격이 좀 좁아" "다크모드에서 안 보여" 같은 피드백을 주고받는다

한 마디로, 설계는 내가 하고, 구현은 Claude가 한다.

GentleDo, GentleFast, GentleStudy — 3개 앱 개발 현황

GentleLab이라는 브랜드 아래 3개 앱을 만들고 있다. 전부 Flutter 기반이고, 같은 디자인 철학(빨간색 금지, 모멘텀 시스템, 에너지 체크인)을 공유한다.

설명상태테스트
GentleDo에너지 기반 할일 관리TestFlight 베타158개 통과
GentleFast간헐적 단식 트래커MVP 완성69개 통과
GentleStudy학습 플래너MVP 완성진행 중

GentleDo 기준으로, Claude Code와 함께 만든 기능들이다.

  • 에너지 체크인 시스템 (Low/Mid/High)
  • 모멘텀 점수 (0-100, 감쇠 알고리즘 — 하루 최대 -3)
  • 24시간 타임라인 뷰 + 주간 타임블록 뷰
  • 집중 모드 (타이머 + 단일 태스크)
  • 새 출발 (밀린 태스크 일괄 정리, 죄책감 없이)
  • 반복 태스크 (매일/매주/매월) + 서브태스크
  • 드래그 앤 드롭 시간 배치
  • 미루기 로그 (5가지 사유 + 패턴 분석)
  • 온보딩 8페이지 + 알림 5종
  • iOS 홈 위젯 (WidgetKit) + Android 위젯 (AppWidget)
  • 다크 모드 + 한국어/영어 다국어
  • 데스크톱 지원 (macOS, Windows)

테스트 케이스 158개. 전부 통과한다.

Claude Code 사용 팁 — 비개발자가 알아야 할 프롬프트 전략

CLAUDE.md를 먼저 쓰세요

바이브 코딩을 시작하려는 사람에게 하나만 조언한다면 이거다. 내가 쓰는 CLAUDE.md에는 이런 것들이 들어있다.

  • 프로젝트 개요 (한 줄)
  • 기술 스택 테이블
  • 코드 컨벤션 (네이밍, 임포트 순서, 상태 관리 방식)
  • 절대 하지 말 것 목록 (빨간색 금지, 하드코딩 금지, 특정 패키지 금지)
  • Phase별 범위 (지금 단계에서 뭘 하고, 뭘 하면 안 되는지)

이 문서가 있으면 Claude가 맥락을 이해한 상태로 일한다. 없으면 매번 처음부터 설명해야 한다.

잘 되는 것

반복 작업이 빠르다. 한국어 ARB 파일에 문자열 50개를 추가하고, 영어 번역까지 만들고, 코드에서 참조하는 작업 — 사람이 하면 2시간, Claude는 3분이다.

테스트를 잘 쓴다. "이 provider에 대한 테스트를 작성해줘"라고 하면 정상 케이스, 경계 케이스, 에러 케이스를 다 커버하는 테스트를 만든다.

안 되는 것

복잡한 UI 레이아웃에서 삽질한다. "타임라인 뷰에서 드래그하면 시간이 바뀌는데, 동시에 스크롤도 되어야 해" 같은 요구사항은 한 번에 안 된다. 3~4번 수정을 거친다.

전체 아키텍처를 미리 잡아야 한다. Claude는 시키는 것은 잘 하지만, 앱 전체 구조는 내가 결정해야 한다. 설계 없이 기능만 요청하면 나중에 전부 엎어야 한다. 실제로 두 번 엎었다.

노코드 vs 바이브 코딩 — 솔직한 비교와 한계점

바이브 코딩이 만능은 아니다.

바이브 코딩이 나은 경우:

  • 커스텀 알고리즘이 필요할 때 (모멘텀 감쇠, 에너지 필터링)
  • 네이티브 기능이 필요할 때 (WidgetKit, 로컬 알림)
  • 코드 소유권이 중요할 때

노코드가 나은 경우:

  • MVP를 하루 만에 테스트해야 할 때
  • UI가 단순하고 CRUD만 있을 때
  • 개발 자체에 시간을 못 쓸 때

나는 "앱 3개를 장기적으로 운영할 것"이기 때문에 코드 소유권이 중요했다. 그래서 바이브 코딩을 선택했다.

1인 빌더로서 배운 것들

개발자가 아니어도 앱은 만들 수 있다. 다만, 설계자는 되어야 한다. 무엇을 만들지, 왜 만드는지, 어떤 규칙으로 만들지 — 이건 아직 사람의 몫이다.

블로그도 직접 만들었다. 그 이야기는 이전 글에서 썼다.

다음 글에서는 GentleDo의 아이콘을 7번 바꾼 이야기 — Concept A에서 D까지의 디자인 과정을 공유할 예정이다.