본문 바로가기

끄적끄적

AI와 함께하는 SOLO POTENDAY - 비사이드 후기 및 배운점

 

안녕하세요! 제가 추석 연휴동안 SOLO POTENDAY 프로그램을 완주했는데요!

약 10일동안 AI와 개발을 하면서 이런저런 어려움도 겪으면서 많이 얻어갔던 시간이었습니다.

 

참여자분들중에 개발자가 아닌 선생님, 디자이너, 기획자분들도 많더라구요

AI를 통한 개발을 타직군분들이 관심이 많구나 생각이 들었고, 그 분들이 전공자 혹은 개발자가 아님에도 노력하여 결과물을 만들어내시는걸보고 정말 멋지다고 생각했습니다. 새로운 도전은 어렵기마련이니까요!

그래서 이번 후기에 적는 AI와 함께 했던 개발 과정은 개발자뿐만이 아니라 비개발자분들도 누구나 보고 이런식으로 개발하는구나~ 하고 이해하기 쉽도록 적으려고합니다! (오프라인 모임에서 비개발직군분들의 어려움을 들어서 그런거 완전 맞음)

그럼 이제 지난 2주동안의 여정으로 가봅시다!


저와 같이 작업할 AI는요..

저는 CursorClaude4.5, GPT5, Figma Make(쪼금)와 함께 작업을 하기로 정했습니다.

Cursor와 Claude는 평소에 실무나 사이드 프로젝트에서도 자주 사용하기때문에 선택했고, Figma Make는 아이콘도 만들 수 있나 궁금해서 무료로 사용해 보았습니다!(Claude랑 GPT가 Figma Make로 아이콘 만들기도 된다고 했슴,..)

 

대부분의 참여자분들이 Claude와 Cursor순으로 많이 사용했더라구요.

Cusor AI도구는 프로젝트 폴더에서 직접 Claude와 GPT AI를 사용할 수 있습니다.

비전공자분이 하나만 결제해서 써야한다면 Cusor를 추천합니다. (웹 개발이 목적이시라면 Figma Make도 괜찮았던 것 같아요) 

Claude와 GPT를 따로따로 구매해서 작업하다보면 프로젝트 파일 전체를 추가할 수 없어서 전반적인 코드 파악이 어렵습니다.

Cursor는 프로젝트 전체 폴더 안에서 작업할 수 있고 Claude와 GPT 모델을 자유롭게 사용할 수 있어서 작업이 조금 더 용이합니다.

전반적으로 코드에대한 이해도가 있는 사람이면 따로 구매하는 것이 좋은 선택일 수 있지만 비전공자분이면 굳이 그럴필요 없다고 느꼈고, 비용도 각각 다 사면 비싸기도 하니까요!

 

저는 Cursor에서 Claude모델을 중심으로 사용했고, 잘 안되는 작업은 GPT모델로 변경해서 작업했습니다.

그리고 Claude도 따로 사용했는데, 이 Claude로는 중간중간 코드 검증 작업을 했습니다!


개발 전반적인 과정 및 시행 착오

1. 방향성 정하기

 

 

우선, 개발자라면 이 프로젝트가 공부 모드인지 제품 모드인지 정확히 정해야합니다.

공부 모드에서는 자기가 평소에 사용해보지 못한 새로운 기술을 익히는 것을 목표로하고 완성하지 못하더라도 지식이 남기때문에 괜찮습니다.

제품 모드는 완성하는 것을 목표로하고 기술은 익숙하거나 잘 아는 도구를 사용해야합니다.

 

저의 비사이드 참여 목적은 AI를 좀 더 잘 활용하기 위함이었습니다.

전에는 코드의 퀄리티나 구조에대해 신경을 많이 못 쓰고, UI를 잘 건들이지 못해 아쉬웠던 부분이 생각이나서

이번에는 코드의 구조나 퀄리티를 주기적으로 직접 확인하고 싶었고 어떤식으로 프롬포트를 넣었을때 잘 나오는지 탐색하는 시간을 가지고 싶었습니다.

 

또한, 비사이드 프로그램에서 완성품을 제출하는 것이 목표였기때문에 저는 제품 모드를 선택을 하였고 iOS 네이티브 개발로 익숙한 Swift언어를 사용했습니다.

 

하지만! 이 논리는 사프가 익숙한 개발자에게만 해당되고, AI를 처음 사용해보는 비개발자분들에게는 해당되지 않는다고 생각합니다.

비개발자분들에게 가장 좋은 경험이 되려면

  1. 작더라도 성공, 완성품 만들기
  2. 언어에대해 정확한 이해를 못하더라도 개발 흐름 이해하기

라고 생각을 했고, 아무래도 관련 직종이 아니라면 지식이 전무하기때문에 공부와 제품 모드 동시에 진행될 수밖에 없다는 생각이 들었습니다.

그래서 처음 도전하시는 비개발자분들은 최소 기능을 구현해서 완성을 우선적으로 하고 구현하면서 익힌 감각으로 기능을 더 붙이거나 새로운 제품을 만드는걸 추천합니다!


2. 본격적으로 주제 정하기

저는 완성품이 목표이기도 했고 제가 흥미가 있고 관심있는 분야여야 끝까지 잘 이끌어갈 수 있을 것 같았습니다.

그래서 당시 뒤늦게 버킷리스트 실행하기에 여념이 없는데, 이와 관련해서 제가 겪은 어려움이나 불편함을 해결하고 싶었습니다

 

 문제를 어떻게 해결할  있을지 고민해봤는데요.

저는 일단 최소 기능을 구현하고 시간이 남으면 다른 기능을 덧붙이는걸 목표로했습니다.

  1. 지속적인 목표 리마인드
  2. 그 목표를 이루기 위한 과정을 To-do 리스트로 단계적으로 기록할 수 있게 제공
  3. 갯수형 목표에는 사진과 느낀점, 평점등의 기록을 할 수 있도록 제공

이 세가지 기능을 중심으로 개발을 진행했습니다.

 

또 강조하자면,

사이드 프로젝트를 "완성"할 수 있는 가장 중요한 포인트는 너무 많은 것(기능)을 한번에 구현하려하지 않는 것이라고 생각합니다.

물론 AI로 개발이 편해지긴했지만 시작부터 욕심부려서 구현하려고하면 빠르게 지치고 포기하게 되더라구요

 

🤔 자꾸 개발자들이랑 AI가 MVP개발한다고하는데.. MVP개발이 대체 뭐야?
MVP은 Minimum Viable Product으로 최소 기능 제품을 말 합니다.
제가 위에서 말했듯이 기능이 다 들어간 완벽한 제품이 아니라, 핵심 기능만 있는 초기 버전인거죠.
그렇다고 절대로 대충만드는건 아니에요! 주요 기능에 집중하고 빠른 검증을 위한 개발 방법입니다.
MVP로 여러개 앱을 개발해둔 후 반응보고 좋은 것만 집중해서 개선할 수도 있겠죠?

3. 내가 사용할 AI가 잘 이해할 수 있는 기획서 만들기

Cursor를 사용해서 프로젝트 초기 세팅을 하기위해 기획서를 만들어봅시다

회사에서도 기획 후 작업하는 것처럼 AI를 사용하는 것도 비슷합니다!! 먼저 틀을 잡아주는거라고 생각하면 쉬워요ㅎㅎ

저는 노션에 템플릿 만들어놨는데, 필요하신분은 여기서 긁어가시면됩니다!!

AI한테 물어봐도 틀 알려줘요!! 잘 조합해서 자신에게 잘 맞게 만들놔도 좋습니당ㅎㅎ

 

이제 AI가 만들어준 기획서와 함께 화면 구성이나 기능의 흐름을 보여주는 와이어 프레임을 같이 넣어주면 좋습니다.

화면의 전반적인 흐름이나 보여지면 좋을 데이터를 추려서 함께 넣어주면 의도와 어긋나는 경우가 드물어집니다.

만약, 정확한 기준이 없다면 안 넣어줘도 괜찮습니다. AI가 자유롭게 생성하니까요. 하지만 어쩔 수 없이 AI로 개발한 앱들은 디자인이 겹치는 경우가 많고, 깔끔하다는 느낌이 조금 덜 할 수 있습니다.

기호에 맞게 선택해서 사용하세요!ㅎㅎ

 

https://frame0.app/

 

Frame0 ― A sleek Balsamiq alternative for wireframing

Frame0 is a sleek Balsamiq alternative wireframing tool for modern applications.

frame0.app

 

4. AI에 Rule 설정하기

저는 AI와 개발을 할 때 가장 중요한 부분이 Rule 설정이라고 생각합니다.

특히 개발 경험이 없는 분들이나 새로운 언어로 개발하는 분들에게는 꼭 필요하다고 생각하는데요.

왜냐하면 AI는 매번 새로운 대화처럼 시작하기때문에, Rule이 없으면 같은 말을 계속 반복해야하고 수정이 늘어납니다.

또한 일반적으로 언어마다 선호하는 코드 스타일이 있습니다. 이 부분을 프로젝트 규칙으로 미리 정해두면 AI가 일관된 스타일로 코드를 작성합니다.

 

User Rules과 Project Rules

구분 User Rules Project Rules
위치 ~/.cursor/rules 프로젝트 폴더 안 .cursorrules
적용 범위 내가 작업하는 모든 프로젝트 이 프로젝트에만
용도 개인 코딩 스타일, 선호도 프로젝트 특화 규칙
예시 "Swift는 Guard let 선호" "이 앱은 SwiftUI만 사용"

즉, User Rules은 나만의 코딩 습관 (모든 프로젝트에 적용), Project Rules은 이 프로젝트만의 특별한 규칙을 뜻합니다.

 

제가 실제로 사용한 Rule 예시

우선 Rule은 "깔끔하게 코드 작성해줘"와 같은 방식으로 사용하면 너무 추상적이기때문에 좋지 않고
"변수명은 camelCase 사용, 상수는 대문자로 작성"와 같이 구체적이고 명확하게 작성해야합니다.

사실 이렇게 구체적이고 명확한 방식의 Rule을 개발자도 작성하기 어려운데, 비개발자 분들은 더 어렵겠죠?

그럼, 다른 분들이 만들어주신걸 복사해서 붙여넣으면 됩니다!

아래 제가 사용했던 AI Rules 관련 링크 첨부하겠습니다. 이 Rules들은 다 영어로 만들어져있는데, 아무래도 외국 AI모델들이기때문에 영어로 Rules을 등록해두면 더 잘 이해하고 토큰을 덜 먹습니다! 웬만하면 Rules이든 프롬포트든 영어로 작성하는게 좋아요 ㅎㅎ

 

Cursor Rules 모음집 - 다양한 언어/프레임워크별 Rule 예시

iOS Cursor Rule 예시 - iOS 개발자들이 자주 쓰는 Rule

이외에 검색하면 다양한 Rules들이 나오니 기호에 맞게 사용하시면 됩니다!

 

하지만, 주의할 점도 있는데요. 

1. Rule이 너무 많으면 AI가 헷갈려할 수 있기때문에 중요한 것 5-10개만 적어야합니다.

2. "절대 안 돼"처럼 너무 엄격하게 제한하면 좋지 않고 "가능하면 이렇게" 형식으로 작성하는게 좋습니다.

3. Rule은 작업하다가 불편한 점이 생기거나 Rule이 안 지켜지면 수정 및 삭제를하며 관리해야합니다.

 

간단한 예시도 첨부하겠습니다.

Project Rules (.cursorrules 파일)

# iOS 버킷리스트 앱 개발 규칙

## 기본 원칙
- 이 프로젝트는 iOS 네이티브 앱입니다
- Swift 언어를 사용합니다
- SwiftUI로 UI를 구현합니다 (UIKit 사용 금지)
- iOS 15.0 이상을 타겟으로 합니다

## 코드 작성 규칙
1. 옵셔널 처리
   - if let보다 guard let을 우선 사용
   - force unwrap(!)은 절대 사용하지 마세요
   
2. 비동기 처리
   - completion handler 대신 async/await 사용
   - 모든 UI 업데이트는 @MainActor에서 실행
   
3. 상태 관리
   - 간단한 상태: @State
   - 전달받은 상태: @Binding
   - 복잡한 상태: @ObservedObject / @StateObject
   
4. 주석 규칙
   - 모든 함수에는 /// 주석으로 설명 추가
   - 복잡한 로직에는 // MARK: - 섹션 구분
   - 왜 이렇게 구현했는지 이유 설명

## 파일 수정 규칙 (중요!)
- 요청받은 기능 외의 코드는 절대 수정하지 마세요
- 꼭 필요한 코드만 최소한으로 추가하세요
- 변경사항은 항상 먼저 설명하고 승인받으세요

## Git 규칙
- 커밋 메시지는 한글로 작성
- 형식: "[타입] 설명" (예: "[기능] 목표 추가 화면 구현")
- 타입: [기능], [수정], [디자인], [리팩토링]

## 프로젝트 구조
MyBucketList/
├── Models/        # 데이터 모델
├── Views/         # 화면 UI
├── ViewModels/    # 비즈니스 로직
└── Utils/         # 헬퍼 함수

 

User Rules (개인 스타일)

# 나의 개인 코딩 스타일

## 언어별 선호사항
### Swift
- guard let을 if let보다 선호
- 에러는 항상 명시적으로 처리
- 매직넘버 사용 금지 (상수로 정의)

## 설명 스타일
- 기술 구현 시 주석으로 "왜"를 설명
- 복잡한 로직은 단계별로 나눠서 설명
- 비개발자도 이해할 수 있게 쉬운 용어 사용

## 응답 형식
- 코드 변경 전에 변경 목록 먼저 보여주기
- 테스트 방법도 함께 알려주기

 

5. 기능과 화면 다듬기

기획서를 넣어주고난 후 작업이 완료되면 어느정도 기능이 구현 된 상태일텐데요!

하지만 이건 "70% 완성" 정도입니다. 직접 사용자 입장에서 사용해보고 사용성을 개선해야합니다.

이때 중요한건 보여주고자하는 화면의 데이터를 정확하게 적어주고 화면 흐름에대한 정보도 상세히 넣어주어야합니다.

또한, 화면 스크린샷을 첨부하거나 하나씩 단계별로 요청하는것이 좋습니다!

 

근데 아무래도 제가 계속 앱을 만지다보니까 불편한 부분도 손에 익더라구요.. 그래서 최대한 쓸때마다 버벅거린 부분을 수정한 후에 출시하고나서 피드백을 계속해서 받았습니다! 처음 앱을 사용한 사용자의 입장을 들어보는게 가장 좋더라구요!

 

6. 출시 작업과 아이콘 만들기 (앱 개발시)

앱의 기능을 모두 구현하면 출시를 해야합니다.

iOS나 안드로이드 모두 출시할때는 앱과 관련된 많은 정보를 넣어줘야합니다.

기본적으로 부제, 프로모션 텍스트, 앱 설명, 키워드등의 정보를 입력해야하는데, 예전에는 다 하나하나 입력했다면 지금은 AI에게 아래와같이 명령어만 넣어주면 금방 만들어줍니다!

앱 출시 정보 입력해야되는데, 앱 부제와 프로모션 텍스트, 설명, 키워드 알려줘

 

지원 URL과 개인정보 처리방침은 따로 게시해야되기때문에 기준에 맞게 생성해달라고 요청합니다.

내 앱의 지원 URL문서를 만들어줘 구글 문서에 저장할꺼야
내 앱의 개인정보 처리방침 문서를 만들어줘 구글 문서에 저장할꺼야

이렇게는 처음 해보는데 잘 만들어주더라구요!?!!

아니면 프로젝트 전반적으로 정리해달라고하고 다른 AI한테 이거에 맞게 만들어줘~ 하면 만들어줍니다!

아! 아래에서도 말할 부분이지만, 이런 간단한 텍스트 작업에서 Cusor를 이용할때는 ask모드로 이용해야 토큰을 덜 사용하니 꼭! 변경 후 사용하세요!

 

아이콘

사실 앱 아이콘을 귀엽게 만들고 싶은데, GPT에게 맡기면 특유의 그 작업물이 너무 싫더라구요.

그래서 Figma Make에게 부탁을 해보았습니다. 근데, 이 친구도 비슷한 것 같아요.........

....흑 너무 기대한 탓일까요ㅜ 정신사납거나 무서운 아이콘이 나와서 정말 실망했습니다....

하지만 그냥 포기할 수 없어서 버킷 모양으로 귀엽게 만들어달라고 상세히 명령어를 여러번 노력한 결과!!

쪼금 귀여운 친구가 생성됐습니다! 들어보니 Figma Make는 아이콘 만들기에는 적합하지 않다고 하더라구용....

담에는 그냥 GPT로 생성하려고 합니다!


아쉬웠던 부분과 약간의 팁

UI

저는 이번에 와이어 프레임을 따로 만들지 않고 구혔했는데, 화면별로 구성이 편차가 조금 있더라구요.

자세히 적어준 부분은 한번에 마음에 들게 나왔는데 대충 적어둔 부분에서는 원하는만큼 구현이 안되서 다시 작업하게 되었어요.

작업을 여러번 하게되면 토큰을 더 쓰게되어 좋지 않습니다.. AI에게 구성을 맡기는 것도 나름의 매력이있지만 다음번에는 와이어 프레임을 좀 더 확실하게 생각해두고 구현해보고 싶네용...

또한 이번에는 UI를 깔끔하고 이쁘게 개선하고 싶어서 포인트 컬러 세가지를 뽑아서 적용해보려고 했습니다.

하지만.. AI가 알아서 넣게 했더니 진짜 이쁘게 안 넣어주더라구요.. 제가 나름 이리저리 넣어봤는데도 뭔가 이질감이 들어서 결국에는 포인트 컬러를 그냥 빼고 구현하게되었습니다ㅜㅜ (디자인 감각 있었으면 좋겠어요🥹)

 

Cursor 모드

Cursor에는 Agent, Ask, Plan 모드가 있습니다.

Agent 모드는 복잡한 코딩 작업을 위한 기본 모드입니다. 코드베이스를 자동으로 탐색하고 여러 파일을 편집하며, 명령을 실행하고 오류를 수정해 요청을 완료합니다.

일반적으로 기능 구현할때 사용하는 모드입니다. 완전 간단한 수정 작업은 그냥 Ask를 이용하는게 더 좋습니다. 생각을 제일 많이하는 모델인 만큼 제일 토큰을 많이 잡아먹는 모드이기때문입니다.

Ask 모드는 학습과 탐색을 위한 읽기 전용 모드입니다. 코드베이스를 검색해 변경 없이 답변을 제공합니다.

주로 코드를 이해하거나 간단한 수정 작업 혹은 수정없이 질문의 답변만 받고 싶을때 사용하면 좋습니다.

Plan 모드는 코드를 작성하기 전에 상세한 구현 계획을 만듭니다. 코드베이스를 조사하고, 추가로 필요한 내용을 질문한 뒤, 빌드에 앞서 편집할 수 있는 검토용 계획을 생성합니다.

특정 복잡한 작업을 구현하기 전에 Plan을 이용해서 계획을 만들거나 혹은 하루에 구현할 작업에대한 계획을 만드는데 사용하기 적합합니다.

각자의 모드를 특성에 맞게 잘 사용하시면 더 퀄리티 있는 개발이 가능하답니다!

 

AI 다양하게 사용해보기

이번에 평소에 자주 사용하는 Claude, Cursor, GPT를 사용했는데 다른 분들 사용하시는 것들 보니까 엄청 다양하더라구요?

다음에는 조금 더 조사해보고 저랑 더 잘 맞고 잘 사용할 수 있는 도구를 선택해보고 싶다는 생각을 했습니다

아래는 다른 분들이 사용한 AI를 나름 정리해보았습니다!

분야 AI 도구
기획 및 리서치 perplexity, gemini, Google AI Studio(Gemini 2.5 Pro), firstvibe, Manpower(Supported by Chat GPT & Claude), Grok, Gemini
디자인 Canva, Lovable, Vercel v0, Readdy, Codex
개발 Claude code, Replit, Firebase Studio, Copilot, qwen-code, aider-ce, Codex
인프라 Supabase

 

버전 관리

AI가 코드를 망치는 경우가 빈번합니다. 개발자분들은 보통 Git을 사용하지만, 비개발자분들은 Git을 사용하기 어렵기때문에 아래와 같은 방법을 사용해서 관리하는것을 추천합니다! (더 좋은 방법 있으면 그걸 이용하세요!)

  1. 중요한 작업 전에는 프로젝트 폴더를 통째로 복사하세요
    • 예: "내앱_백업_1025_오전" 이런 식으로 이름 짓기
    • 하루 작업 끝날 때마다 백업하는 습관 들이기
  2. Cursor에서 AI가 코드 바꾸려고 하면 꼭 확인하세요
    • Accept 누르기 전에 뭘 바꾸는지 읽어보기
    • 이상하면 Reject!
  3. 구글 드라이브에 프로젝트 폴더 넣어두기
    • 자동 백업 + 30일간 이전 버전 복구 가능

실제로 저도 예전에 기능 추가하다가 중요한 코드가 날아간 적이 있었어요 ㅠㅠ 다행히 Git으로 버전 관리를 잘 해 놓은 덕분에 5분 만에 복구했답니다!


후기 및 느낀점

포텐데이를 진행하면서 어느정도 AI를 사용할때의 규칙과 주의해야할 점에대해 갈피가 잡히고 정리할 수 있는 시간이었습니다.

제가 좋아하는 주제를 개발하니 하나하나씩 기능을 붙여나갈때마다 뿌듯함이 상당하더라구요!

그리고 글또분들도 꽤 참여하셔서 같이 서로 개발 근황 공유하고 응원하면서 하니까 더 재밌고 즐겁게 진행할 수 있었습니다

궁금해요 채널에서 꿀팁도 얻어갈 수 있었고, 중간중간 온라인 모각프와 미션이 있어서 지루하지 않고 꾸준히 이어갈 수 있었어요

운영진분들이 엄청 독려도 해주셔서 정말 감사했답니다!

 

개인적으로 오프라인 모임에서 처음으로 모르는 사람들 앞에서 발표도 해보고 다른 분들의 발표를 들으면서 AI와 개발에대해 많이 배우고 공감하는 시간이었습니다.

비개발자분들도 부담없이 도전해볼 수 있는 프로그램이라고 생각이 들어서 좋았는데, 비개발자분들이 개발을 바라보는 시선도 알게되어서 색다르고 좋았습니다!

다음에 또 해볼 수 있는 기회가 생긴다면 그때는 익숙한 AI도구보단 광범위한 AI도구들 중 잘 맞는 것으로 직접 정해보고싶네용!!

완주! 참 재밌오따!


아! 맞따!!! 제가 만든 앱도 구경하러 오세용~~

 

‎Buckie

‎Buckie - 당신의 꿈을 현실로 만드는 버킷리스트 관리 앱 인생에서 이루고 싶은 목표가 있나요? Buckie는 당신의 버킷리스트를 체계적으로 관리하고, 꿈을 하나씩 실현해 나갈 수 있도록 돕는 스

apps.apple.com