AI 코딩 에이전트로 iOS 앱 만들기 - 경험 없는 나의 레시피북 & 커피 저널 개발기

“생산성 앱 시장이 사라지고, 개인이 필요한 앱을 직접 만드는 시대가 온다.”

최근 코딩 에이전트의 급격한 발전 덕분에 이런 이야기를 자주 듣게 됩니다. 앱스토어에 올라온 수많은 레시피 앱, 커피 저널 앱, 할 일 목록 앱 중에 딱 내 취향에 맞는 건 없고, 있더라도 과한 기능에 구독료가 부담스럽다. 그럴 바엔 내가 쓰고 싶은 앱을 직접 만들어보자 — 그렇게 해서 탄생한 앱이 레시피북커피 저널입니다.

특별한 점은, 저는 iOS 앱 개발 경험이 전혀 없다는 것입니다. Swift도, Xcode도, SwiftUI도 몰랐습니다. 그럼에도 불구하고 Flexibility AI로 시장조사와 기능을 구체화하고, Cursor로 실제 앱을 구현하는 데 성공했고, 크게 어렵지 않았습니다. 이 글에서는 그 전 과정을 정리해 공유합니다.


📚 목차


왜 개인이 앱을 직접 만드는 시대인가

생산성 앱 시장의 변화

앱스토어에는 이미 수천 개의 레시피 앱, 메모 앱, 커피 추출 기록 앱이 있습니다. 그런데 정작 사용자가 원하는 건 나에게 딱 맞는 최소한의 기능인 경우가 많습니다. 기성 앱들은 대부분:

  • 과한 기능으로 UI가 복잡하거나
  • 구독 모델로 부담스럽거나
  • 내 워크플로우에 맞지 않는 구조

를 가지고 있습니다.

AI 코딩 에이전트의 democratization

반면, 최근 AI 코딩 에이전트(Cursor, GitHub Copilot, 등)의 발전으로 개인 개발자도 짧은 시간 안에 풀스택 앱을 만들 수 있는 환경이 열렸습니다. 아이디어만 있다면, 전문 개발자가 아니어도 AI와 대화하며 앱을 완성할 수 있습니다.

그래서 저는 “레시피를 내 방식으로 정리하고 싶다”, “커피 추출 결과를 간단히 기록하고 싶다”는 개인적인 니즈를 직접 앱으로 구현하기로 했습니다.


준비 단계 - Flexibility AI로 시장조사와 기능 구체화

코드를 짜기 전에, 무엇을 만들 것인지 명확히 정의하는 게 중요합니다. 저는 이 단계에서 Flexibility AI를 활용했습니다.

Flexibility AI란

Flexibility AI는 시장조사, 기획, 기능 정의를 돕는 AI 도구입니다. “레시피 앱을 만들고 싶은데, 어떤 기능이 있을까?”, “커피 저널 앱의 트렌드는?” 같은 질문에 답을 구하고, 앱의 스코프를 구체화하는 데 유용했습니다.

시장조사 활용

Flexibility AI에게 다음과 같은 질문들을 던졌습니다:

  • 기존 레시피 앱들이 어떤 기능을 제공하는가?
  • 사용자들이 레시피 앱에서 가장 중요하게 여기는 점은?
  • 커피 저널/브루잉 앱 시장의 트렌드와 공통 기능
  • 개인용 MVP에 적합한 최소 기능 세트

이를 통해 굳이 만들 필요 없는 기능반드시 있어야 할 기능을 구분할 수 있었습니다.

기능 구체화

시장조사 결과를 바탕으로:

  • 레시피북: 레시피 추가/수정/삭제, 카테고리 분류, 재료 목록, 조리 순서, 검색
  • 커피 저널: 커피 원두 정보, 추출 파라미터(그라인드, 물온도, 추출 시간), 맛 메모, 기록 날짜

처럼 기능 목록을 구체화했습니다. “나중에 넣을 수 있는 것”과 “첫 버전에 꼭 필요한 것”을 나누는 것도 AI와의 대화를 통해 정리했습니다.

이 단계가 개발 난이도를 낮춘 이유

무엇을 만들지 먼저 정의해두니, Cursor와 개발할 때 “이거 추가해줘”, “저거 바꿔줘”라는 요청이 훨씬 명확해졌습니다. 시장조사와 기능 구체화가 개발의 나침반 역할을 해준 셈입니다.


개발 도구 - Cursor

실제 앱 구현에는 Cursor를 사용했습니다. Swift, SwiftUI, Xcode 프로젝트 구조를 전혀 몰랐지만, Cursor가 코드 생성과 수정을 도와주면서 차근차근 앱이 완성되었습니다.

Cursor와의 협업 방식

  1. 프로젝트 생성: “SwiftUI로 iOS 앱 프로젝트를 만들어줘. 레시피를 저장하고 목록으로 보여주는 앱이야” — 이 한 문장으로 기본 구조가 만들어졌습니다.
  2. 기능 추가: “레시피에 카테고리 필드를 추가하고, 카테고리별로 필터링할 수 있게 해줘” — 요청하면 해당 로직과 UI가 생성됩니다.
  3. 버그 수정: “저장했다가 다시 열면 데이터가 사라져” — 현상 설명만 해도 원인 추적과 수정 제안을 받을 수 있었습니다.

SwiftUI와 로컬 저장소

저는 SwiftUI 기반으로 앱을 구성했고, 데이터는 로컬에 저장했습니다(UserDefaults 또는 SwiftData 등). 별도 백엔드 없이 완전한 로컬 앱으로 시작했고, 이는 초기 개발을 크게 단순화해주었습니다.

경험 없이도 가능했던 이유

Cursor가 Swift/SwiftUI 문법, 뷰 계층 구조, 상태 관리 패턴을 생성해주기 때문에, “이 코드가 뭘 하는지”만 대략 이해하면 됐습니다. 전문 iOS 개발자 수준의 이해는 필요하지 않았고, 요구사항을 정확히 전달하는 것이 더 중요했습니다.


레시피북 앱

목적

개인이 만든 레시피를 한 곳에 모아두고, 필요할 때 빠르게 찾아볼 수 있는 앱입니다. 앱스토어에 있는 대형 레시피 앱처럼 레시피 공유, 소셜 기능, 구독은 없고, 나만의 레시피 컬렉션에 집중했습니다.

주요 기능 (시장조사 반영)

  • 레시피 등록: 제목, 재료, 조리 순서, 카테고리(한식, 양식, 간식 등)
  • 목록 보기: 카드 또는 리스트 형태로 레시피 목록 표시
  • 검색/필터: 제목, 재료, 카테고리로 검색
  • 상세 보기: 탭하면 전체 레시피 내용 확인
  • 수정/삭제: 기존 레시피 수정 및 삭제

개발·테스트 중 겪은 것

  • 데이터 영속성: 앱을 종료했다가 다시 열면 데이터가 사라지는 문제 — 로컬 저장소 설정을 Cursor와 함께 수정해서 해결
  • UI 조정: 버튼 크기, 폰트, 레이아웃이 기기마다 다르게 보이는 문제 — SwiftUI의 적응형 레이아웃을 적용

최종 결과

필요한 기능만 담긴, 가벼운 레시피북 앱을 완성했습니다. 시장에 있는 앱보다 단순하지만, 내가 쓰기엔 충분했습니다.


커피 저널 앱

목적

커피를 내려마실 때마다 원두, 추출 조건, 맛을 간단히 기록해두는 앱입니다. 나중에 “저번에 그 커피 어떻게 뽑았더라?” 할 때 참고하기 위함입니다.

주요 기능

  • 기록 추가: 원두명, 로스터리, 그라인드, 물온도, 추출 시간, 맛 메모
  • 기록 목록: 날짜순 또는 원두별로 조회
  • 상세 보기: 각 추출 기록의 전체 정보 확인

레시피북과의 공통점·차이점

공통점:

  • SwiftUI 기반, 로컬 저장
  • 목록 → 상세 → 추가/수정 흐름
  • Cursor로 빠르게 프로토타입 구현

차이점:

  • 레시피북은 텍스트(재료, 순서)가 길고, 커피 저널은 필드가 많지만 각 필드는 짧음
  • 커피 저널은 날짜/원두 기준 정렬이 더 중요

두 앱 모두 비슷한 패턴으로 개발했기 때문에, 레시피북에서 배운 걸 커피 저널에 재활용할 수 있었습니다.


반복 개발 사이클 - 개발·테스트·수정

앱을 한 번에 완성하지 않았습니다. 개발 → 시뮬레이터/실기기 테스트 → 문제 발견 → Cursor에게 수정 요청 → 다시 테스트를 반복했습니다.

Cursor가 이 사이클을 빠르게 만든 점

  1. 수정 요청이 직관적: “이 버튼을 누르면 저장이 돼야 하는데 안 돼” — 이런 식으로 현상만 설명해도 Cursor가 원인을 짚어주고 수정안을 제시
  2. 점진적 개선: 한 번에 모든 기능을 요청하지 않고, 하나씩 추가하면서 테스트. 작은 단위로 요청할수록 Cursor의 응답이 정확해짐
  3. 에러 메시지 해석: Xcode에서 빌드 에러가 나면 에러 메시지를 그대로 Cursor에 붙여넣으면, 원인과 해결 방법을 설명해줌

이 반복 덕분에 “쓸 만한” 수준까지 앱을 끌어올릴 수 있었습니다.


경험 없이도 가능했던 이유

Flexibility AI: 무엇을 만들지 먼저 정의

시장조사와 기능 구체화를 먼저 했기 때문에, 개발 단계에서 “이건 왜 만드는 거지?”라는 막연함이 없었습니다. 명확한 스펙이 있었고, 그 스펙을 Cursor에게 전달하기만 하면 됐습니다.

Cursor: 정의된 스펙을 코드로 전환

Cursor는 “무엇을 만들지”는 모르지만, “이렇게 만들어줘”라고 하면 그에 맞는 코드를 생성합니다. 그래서 Flexibility AI에서 만든 스펙이 Cursor의 입력이 되었고, 이 조합이 효율적이었습니다.

AI 조합이 학습 곡선을 완화

Swift, SwiftUI, iOS 앱 구조를 처음부터 독학했다면 상당한 시간이 걸렸을 겁니다. AI 에이전트 덕분에 학습과 구현을 동시에 진행할 수 있었고, “일단 돌아가는 걸 만들고, 이해는 천천히” 하는 식으로 진행했습니다.


마무리

“생산성 앱 시장이 사라진다”는 말이 조금 과장일 수는 있습니다. 다만, 개인이 필요한 앱을 직접 만드는 것이 이전보다 훨씬 쉬워졌다는 건 분명합니다.

Flexibility AI로 시장조사와 기능을 구체화하고, Cursor로 실제 앱을 구현하는 — 이 조합만으로도 iOS 개발 경험이 전혀 없는 저는 레시피북커피 저널 두 개의 앱을 완성할 수 있었습니다. 크게 어렵지 않았고, 오히려 “내가 원하는 대로 만든다”는 재미가 컸습니다.

스마트폰에서 “이런 앱 있으면 좋겠다” 싶은 게 있다면, 한 번 시도해보는 걸 추천합니다. Flexibility AI와 Cursor, 그리고 개발 → 테스트 → 수정의 반복만 있으면 됩니다.


이 글은 AI 코딩 에이전트를 활용한 개인 앱 개발 경험을 공유하기 위한 것입니다. 레시피북과 커피 저널은 개인 사용 목적으로 제작되었습니다.