2일 차 이야기가 궁금하시다면?
오늘은 1일 차에서 말하기로 했었던 '1주 차 스프린트 계획과 프로젝트 설계 과정'에 대해 이야기해 보도록 하겠습니다.
1주 차 스프린트 계획
첫 번째 주차의 목표는 아주 간단합니다.
MVP 핵심 기능 완성하기
‘뭐 이런 당연한 걸 적어놨어?’라고 생각하실 수도 있을 것 같은데 사실 그렇게 효율적인 방법은 아닐 수도 있다고 개인적으로 생각합니다.
왜냐하면 저는 프론트엔드 개발과 백엔드 개발을 둘 다 하는데 (Supabase 같은 서비스 사용 X)
핵심 기능을 먼저 완성하는 방향으로 스프린트를 구성하면 Context Switching이 생각보다 자주 발생하기 때문입니다.
개발 속도 자체는 ‘백엔드 API 개발 → 프론트엔드 개발’ 이런 순서로 하나씩 끝내는 게 더 빠를 것이라고 생각하는데 굳이 핵심 기능을 먼저 끝내는 이유는
- 핵심 기능이 동작하는 것을 보면 재미있다.
- 예상치 못한 변수를 미연에 방지할 수 있다.
위 두 가지 이유가 가장 큰 것 같습니다.
‘재미있다’가 이유에 들어간 게 의외라고 생각하실 수도 있을 것 같은데 생각보다 많은 개발자들이
인증/결제 등 서비스에 꼭 필요하지만 재미가 덜 한 기능들을 개발하다가 프로젝트를 포기하는 것을 종종 봐왔기 때문입니다.
프로젝트 설계 과정
프로젝트 설계를 설명하기 앞서 서비스의 기술 스택에 대해 설명드리면
프론트엔드: React, Typescript, TailwindCSS, Schadcn, React-Query, Zustand
백엔드: Nest.js, Typescript, Typeorm
데이터베이스: PostgreSQL
이렇게 서비스를 구성해서 사용하는 데 백엔드를 제외하면 요즘 유행하는 가장 정석적인 조합이긴 합니다.
여기서 나왔던 질문이
Q1. Supabase는 사용하지 않나요?
네, 저도 Supabase를 안 써본 건 아닌데 지금 프로젝트에서는 사용하지 않습니다.
그 이유는
- 영상 생성/합성 및 렌더링 등 복잡한 비즈니스 로직이 필요하다.
- 백엔드 기술 역량을 기르고 싶었다.
두 가지인 것 같습니다.
사실 2번의 경우 빠른 가설 검증을 위해서라면 충분히 포기할 수 있는 부분인데 아무래도 주된 원인은
로직 자체가 복잡하기 때문에 이번 프로젝트에서는 굳이 사용하지 않았습니다.
다른 프로젝트에서 CRUD만 필요한 서비스가 있다면 아마 적극 검토해 볼 것 같긴 합니다.
그 밖에는 주로 저한테 익숙한 기술 스택 위주로 선정하였습니다.
다른 예상 질문에 대해 빠르게 답변하고 넘어가자면
- Next.js 왜 안 쓰시나요? → 저는 React의 SPA 구조가 직관적이어서 더 선호하는 편입니다.
- 왜 백엔드를 굳이 Nest.js로 선택하셨나요? → Spring이나 .NET도 다 써보긴 했는데 프론트엔드랑 백엔드 언어를 동일하게 가져갈 수 있다는 게 저한테는 큰 장점인 것 같습니다.
제가 이번 프로젝트를 설계할 때 총 4가지 작업을 진행하였습니다.
- 경쟁 서비스 분석 (invideo/fliki 등)
- 바이브 코딩으로 서비스 프로토타입 제작 (Replit 3회, Claude 1회)
- 데이터베이스 ERD 설계
- Mermaid로 서비스 Flow 설계
사실 1, 3, 4번은 특별할게 없어서 생략하고 넘어가도록 하고 2번인 바이브 코딩 이야기만 하고 넘어가도록 하겠습니다.
Q2. 바이브 코딩으로 프로토타입을 4번이나 만든 이유
제가 바이브 코딩을 4번이나 한 이유는 서비스의 UI/UX가 어려웠기 때문입니다.
일반적인 SaaS였다면 기존에 했던 것처럼 뚝딱뚝딱 만들었을 텐데
영상 AI 서비스를 만드는 것이 처음이기도 했고 다른 서비스를 살펴봐도
서비스마다 UI가 다 제각각이라 어떤 형태를 내 서비스에 적용해야 할지 굉장히 혼란스러웠습니다.
그래서 제가 시도한 방법은 ‘PRD(Product Requirements Document)만 조금씩 바꿔서 프로토타입을 만들어보자’라고 생각해 보고 익숙하게 쓰던 플랫폼인 Replit에서 바이브 코딩을 통해 나름대로의 최적의 UI/UX를 찾아낼 수 있었습니다.
(Claude도 해봤는데 괜찮더라구요!)
오늘까지 프로젝트에 관한 전반적인 이야기를 했었다면
내일부터는 드디어 본격적인 개발 이야기를 시작해 보도록 하겠습니다.
제 남은 서비스 개발 스토리가 궁금하시다면 팔로우하고 지켜봐 주세요!
+ 만약 Replit 시작해 보고 싶으신 분 있으시면
- Replit 공식 웹사이트 (리퍼럴 크레딧 받기) : https://replit.com/refer/chjo0330
- $10를 받으실 수 있어요 😊