뉴스레터 목록
라이브노트프리미엄 전용유튜브 라이브

현업 개발자의 바이브코딩 설계 진단 · 개선법

라이브

현업 개발자의 바이브코딩 설계 진단 · 개선법

첫 섹션은 누구나 읽을 수 있어요. 나머지 섹션의 전문·프롬프트 원문·Q&A는 라이브 프리미엄 멤버십 회원 전용이에요.

손 놓은 사이 혼자 불어난 PT 기록 앱 모핏(MoFit)을, 코드 한 줄 열지 않고 Cursor와 대화만으로 다시 파악하고 구조를 고친 라이브예요.

이 노트를 읽고 나면 할 수 있는 것

  1. 손 놓은 프로젝트를 기술 스택 → 전체 구성 → DB와 데이터 흐름 순서로 물어서 주도권을 되찾기
  2. AI가 낸 구조 진단에 반론하고, "하지 마" 규칙 대신 린트·테스트로 재발을 막게 하기
  3. 스크린샷·E2E·단위 테스트·훅·CI 중 무엇으로 검증할지 비용과 수명을 따져 정하기

5시간 32분 전체는 다시보기에 있어요(2026-08-28 방송). 노트는 그중 작업 흐름과 판단만 따라가요.

목차

길을 잃은 프로젝트, 어디부터 볼까 ▶ 0:02:00

지난 라이브에서 모핏 개발을 AI에게 맡겨 두고 중간에 그만뒀는데, 그사이 에이전트가 단계를 계속 밟아 제가 모르는 코드가 잔뜩 쌓여 있었어요.

바이브 코딩을 하다 보면 이렇게 프로젝트가 커져서 길을 잃을 때가 있죠. ▶ 0:02:19 모핏은 트레이너가 Expo 앱을 쓰고, 수강생은 MCP(에이전트가 외부 서비스를 도구처럼 쓰게 해 주는 연결 규격)로 기록을 올리는 구조예요.

처음 세 번은 이렇게 물었어요.

이 프로젝트의 기술 스택 및 구현 상황을 파악해줘
이 서비스가 큰 수준에서 어떻게 구성된지 궁금해. 인프라나 어플리케이션 레벨에서. 한번 설명해줘
오, 오케이. 좋아, 이번에는, 그, 데이터베이스에 대해서 파악하고 싶거든. ERD로 작성해 주면 좋겠고, 좀 가장 중요한 테이블들에 대해서는 부연 설명도 조금 해줘. 내가 궁금한 거는, 좀 이 주요 유스 케이스에 대해서, 데이터 플로우가 어떻게 되는지를 좀 알고 싶은 거야. 참고해서 알려줘. 그리고 비개발자도 이해할 수 있게, 쉽게 설명해 줘야 돼.
Cursor 응답 — 모핏 기술 스택 표. 레포는 pnpm workspace 모노레포(apps/server, apps/mobile, packages/shared), 서버는 Nest.js 11과 Railway, DB는 Supabase Postgres와 Prisma 7, 앱은 Expo 57과 Expo Router, TanStack Query
첫 질문에 돌아온 기술 스택 ▶ 0:03:37

AI가 쓴 코드의 세부는 제가 신경 쓸 바가 아니에요. 엄밀하게 볼 건 서비스가 큰 수준에서 어떻게 설계됐는지, 데이터베이스 스키마가 어떤지 두 가지예요. ▶ 0:05:57

Cursor 화면 — 왼쪽은 데이터 구조 설명, 오른쪽 캔버스 탭 「모핏은 어떤 장부를 쓰나」에 장부(테이블) 14개 관계도와 「PT 날, 운동 기록하기」 단계별 흐름
관계도를 캔버스로 그려 줬어요 ▶ 0:11:50

ERD는 캔버스로 받았는데, 테이블 이름을 전부 한글로 번역해 놔서 오히려 읽기 어려웠어요. ▶ 0:13:00 실제 테이블명과 컬럼명을 그대로 쓰되, 실제로 존재하는 값이라는 게 보이게 하이라이팅을 달라고 다시 요청했어요.

캔버스의 「핵심 테이블」 — program, workout_session, meal, body_composition 등 실제 테이블명과 주요 컬럼(date, is_pt, weight, reps…)이 코드 글씨로 표시
실제 테이블명으로 고친 핵심 테이블 ▶ 0:13:41

문서에 있던 유스케이스도 보강시켰어요. 이름만 유스케이스였지 성립에 필요한 정보가 빠져 있었거든요.

너가 지금 문서에 유스 케이스를 담고 있잖아. 근데 이게 말은 유스 케이스지만 사실 유스 케이스로서 성립하기 위해, 많은 정보들이 누락된 것 같아. 그래서 내가 이해하기 어려워. 그래서 엘라스틴 코오번 스타일의 유스 케이스로, 좀 더, 그 내용을 보강해 주면 좋겠어.

보충: "엘라스틴 코오번"은 음성 받아쓰기 그대로예요. 앨리스터 코번(Alistair Cockburn)식 유스케이스는 행위자·사전 조건·주 흐름·예외 흐름을 갖춘 형식이에요.

데이터 레벨만 이해하고 있으면 프론트엔드·백엔드 코드는 사실 이해 안 해도 돼요. ▶ 0:26:13

이해가 잡힌 뒤에는 그 세션을 버렸어요. 컨텍스트가 이미 찼고, 제 이해를 높이는 데는 충분히 썼으니까요. ▶ 0:26:37 새 세션에서 앱을 시뮬레이터로 띄웠어요.

iOS 시뮬레이터의 모핏 홈 — 남은 PT 13회, D-43, 종목별 달성률, 오늘 영양(열량·단백질·탄수화물·지방·식이섬유 0), 끼니 0건, 인바디 기록 없음
띄워 본 트레이너 앱의 홈 ▶ 0:33:08

정작 트레이너가 운동 기록을 올리는 기능이 안 보였어요. ▶ 0:33:35 최근 운동의 "전체 보기" 안에 숨어 있었죠. 여기서 점검할 게 두 개로 좁혀졌어요. UX를 어떻게 바꿀지, 그리고 코드가 깔끔하게 짜였는지. ▶ 0:35:33

이 뒤는 라이브 프리미엄 멤버십 회원 전용이에요

나머지 섹션의 전문과 프롬프트 원문, Q&A는 라이브 프리미엄 멤버십 회원만 읽을 수 있어요.

프리미엄 혜택 보기 →

지난 라이브노트