TodayGo/설계

Cursor + GPT로 Flutter 앱 개발 환경을 구성한 이유

todaygo 2026. 5. 12. 15:26

최근 TA 운영 프리랜서 프로젝트에 투입됐어.
현재 주 업무는 AWS 운영과 배포 관리 쪽이야.
CodeDeploy, 운영 이슈 대응, 로그 확인 같은 업무 비중이 꽤 큰 편이야.

 

동시에 사이드 프로젝트로 TodayGo라는 앱 개발도 시작했어.
아이와 함께 갈만한 장소를 기록하고 추천하는 서비스야.

 

다만 한 가지 문제(?)가 있었다.

 

나는 앱 개발 경험이 없거든.
실제로 앱을 출시해본 적도 없고, Flutter 경력도 없어.

 

그동안은 Java + Spring Boot 기반으로 백엔드 개발만 해왔어.
주로 서버 구조 설계, 운영, 장애 대응, 배포 자동화 같은 일을 해왔거든.

 

그래서 이번 앱 개발은 꽤 새로운 도전이었어.


그래서 더 중요했던 개발 환경

앱 개발 경험이 없으니 가장 먼저 고민한 건 개발 환경이었어.

 

예전처럼 모든 걸 직접 구현하는 방식으로 접근하면
사이드 프로젝트는 시작도 못 하고 끝날 가능성이 높다고 생각했어.

 

특히 지금은:

  • 본업 TA 운영
  • AWS 운영 업무
  • 사이드 프로젝트
  • 블로그 작성

을 같이 병행하고 있는 상태야.

 

혼자 Flutter 앱을 처음부터 끝까지 다 만들려면
생산성이 굉장히 중요했어.


어떤 기술 스택으로 갈까

처음 방향은 이렇게 잡았어.

  • Flutter
  • Supabase
  • Edge Functions
  • Riverpod
  • Clean Architecture

백엔드 서버를 직접 운영하지 않고, 빠르게 MVP를 만드는 방향이었어.

 

Supabase를 선택한 이유는 단순했어.

  • Auth
  • PostgreSQL
  • Storage
  • RLS(Row Level Security)

를 한 번에 사용할 수 있었기 때문이야.

 

특히 혼자 개발하는 사이드 프로젝트에서는
“운영 포인트를 줄이는 것”이 꽤 중요하다고 생각했어.


AI 도구는 무엇을 사용할까

요즘은 AI 코딩 도구가 정말 많다.

  • Claude
  • Cursor
  • GPT
  • Codex

처음에는 어떤 조합이 맞는지 꽤 고민했어.

 

앱 개발 경험이 없기 때문에
오히려 더 AI의 도움을 잘 받아야 한다고 생각했어.


내가 원했던 개발 방식

내가 원하는 건 이런 형태였다.

  • 빠르게 MVP 만들기
  • Flutter 생산성 확보
  • 반복 코드 줄이기
  • 설계는 직접 이해하기
  • 운영 관점 유지하기

즉, AI가 모든 걸 대신 만드는 방식보다는
내가 방향을 잡고 AI가 구현을 도와주는 형태가 더 중요했지.


그래서 선택한 조합

결론적으로 현재는 아래 조합으로 정리했다.

  • Cursor Pro
  • GPT

Cursor는 실제 구현용으로 사용하고 있어.

 

예를 들면:

  • Riverpod wiring
  • Feature 생성
  • DTO 생성
  • Repository 구현
  • Supabase 연결

같은 반복 작업을 굉장히 빠르게 처리해줘.

반대로 GPT는 설계와 리뷰에 더 많이 사용하고 있고.

 

예를 들면:

  • 기능 구조 설계
  • Flutter 아키텍처 리뷰
  • SQL/RLS 검토
  • 블로그 초안 작성
  • Cursor 프롬프트 생성

같은 역할이야.

 

생각보다 이 역할 분리가 꽤 잘 맞았다.


Claude는 왜 선택하지 않았을까

사실 가장 고민했던 부분이었다.

 

Claude는 긴 문맥 이해나 대규모 코드 분석 쪽에서 강점이 있다고 느꼈어.

 

하지만 현재 내 상황은 조금 달랐어.

 

지금은 초대형 코드베이스를 다루는 단계가 아니라
“앱을 실제로 만들어야 하는 단계”에 가까웠거든.

 

그리고 무엇보다 나는 앱 개발 경험 자체가 없었어.

 

그래서 현재 단계에서는:

  • 구조 이해
  • 실제 구현 속도
  • 반복 작업 감소

쪽이 더 중요했어.

 

결국 지금은 Cursor + GPT 조합만으로도 충분하다고 판단했어.


맥북보다 테스트폰을 먼저 고민한 이유

원래는 MacBook을 먼저 구매하려고 했다.

 

Flutter 앱이니 결국 Xcode가 필요할 거라고 생각했기 때문이야.

 

그런데 정리해보니 지금 당장 중요한 건 iOS 배포보다
“실제로 앱을 계속 만드는 것”이었어.

 

그래서 우선순위를 바꿨다.

 

현재는:

  • Android 실기기 테스트
  • Flutter 기능 구현
  • Supabase 연동

을 먼저 진행하고 있어.

 

Xcode와 TestFlight는 MVP가 어느 정도 완성된 뒤에 붙일 예정이야.


지금 중요한 건 결국 꾸준함

예전에는 개발 환경을 완벽하게 세팅하고 시작하려고 했다.

 

그런데 사이드 프로젝트를 여러 번 고민만 하다 보니
결국 중요한 건 완벽한 환경보다
“계속 만드는 흐름”이라는 걸 느끼게 됐어.

 

지금 목표는 거창하지 않다.

  • 로그인
  • 장소 리스트
  • 즐겨찾기
  • 장소 제안

정도까지 우선 빠르게 만들어보는 거야.

 

아마 다음 글부터는 실제 Flutter 구조나 Supabase 연결 과정도 하나씩 정리하게 될 것 같아.