GITING 매거진 · 처음 만드는 사람에게← 전체 호
GITING 매거진 · 바이브코딩 첫 걸음

뭐부터 할지 알면,
오늘 시작할 수 있어요

뭘 고를지, 어떤 프롬프트를 칠지, 그러면 뭐가 나오는지 순서대로 보여준다. 오늘 바로 시작할 수 있게.

기티가 처음 굴을 파는 견습 두더지에게 첫 굴을 안내한다
안내 기티예제 실제로 돌린 결과기준 웹·앱 수십 개 출하 경험
갈림길01
01 · 웹이냐 앱이냐

먼저 이것부터 정한다

처음 만드는 사람은 코딩이 어려워서 멈추지 않는다. 뭘 먼저 정할지 몰라서 멈춘다. 그 첫 번째가 내가 만들 게 웹이냐 앱이냐다. 이것만 정하면 도구도, 저장도, 배포도 따라서 정해진다.

뭘 만들지? 웹 · 브라우저에서 열림 링크만 있으면 누구나 바로 앱 · 폰에 깔림 홈 화면 아이콘·카메라·알림

30초 결정법. 사람들이 링크를 눌러서 쓰면 웹, 앱스토어에서 깔아서 쓰면 앱이다. 카메라·알림·오프라인이 꼭 필요하면 앱이고, 그게 아니면 대개 웹으로 시작하는 게 빠르다. 깔 필요도 없고 심사도 없으니까.

망설여지면 웹으로 간다. 웹은 오늘 만들어 오늘 링크를 보낼 수 있고, 나중에 앱으로 옮겨도 늦지 않다.

선택 · 웹02
02 · 웹 편

웹으로 간다면, 골라야 하는 것들

웹은 정할 게 다섯 개다. 하나씩 보면 어렵지 않다. 표에서 주황색이 처음에 고를 것이다.

정할 것처음엔 이걸언제 다른 걸
저장할 게 있나없으면 HTML 한 파일글·계정을 저장하면 서버가 필요
서버 스택가벼우면 Node 내장(의존성 0)규모가 커지면 Next.js·Django
데이터 저장소(DB)SQLite(파일 하나)여럿이 동시에 쓰면 PostgreSQL
어디에 올리나정적이면 Cloudflare Pages·GitHub Pages(무료)서버가 있으면 Railway(가장 쉬움)
주소(도메인)무료 서브도메인 먼저자리 잡으면 도메인 구매

왜 HTML 한 파일부터냐. 오늘의 할 일 목록, 간단한 소개 페이지, 계산기 같은 건 저장이 필요 없다(또는 브라우저 안에만 저장하면 된다). 이럴 땐 파일 하나면 끝이고, 서버나 DB 이야기를 아예 안 꺼내도 된다. 처음 성공을 제일 빨리 보는 길이다.

저장이 필요해지면. 방명록처럼 남이 남긴 글이 남아야 하면 그때 서버가 등장한다. 처음엔 무겁게 갈 필요 없다. Node 내장 기능만으로 서버를 띄우고 SQLite(파일 DB)를 쓰면 설치할 것도 거의 없다. 커져서 여럿이 동시에 쓰기 시작하면 그때 PostgreSQL로 옮기면 된다.

처음 조합(웹). 저장 없음이면 HTML 한 파일에 Cloudflare Pages(무료). 저장이 필요하면 Node 내장 서버에 SQLite, 배포는 Railway. 도메인은 나중에.
선택 · 앱03
03 · 앱 편

앱으로 간다면, 골라야 하는 것들

앱은 "무엇으로 만드나"가 가장 크다. 대부분 한 곳에서 시작한다.

정할 것처음엔 이걸언제 다른 걸
무엇으로 만드나Expo(React Native), JS로 iOS·안드 동시카메라·센서·성능이 핵심이면 네이티브 Swift
데스크톱 앱이면Electron, 맥·윈도우 앱(웹 기술 그대로 데스크톱으로)
데이터 저장기기 안에 저장(expo-sqlite, 계정·서버 0)여럿이 공유하면 서버(Railway)
빌드·테스트Expo 클라우드 빌드로 실기기에손에 익으면 로컬 Xcode 출하
스토어에 올리기Apple 개발자 계정(연 $99)에 심사안드는 Google Play(1회 $25)

왜 Expo부터냐. 자바스크립트 하나로 iPhone과 안드로이드 앱을 동시에 만들고, 복잡한 빌드를 클라우드가 대신 해준다. 메모·기록·간단한 도구 같은 첫 앱은 여기서 충분하다. 카메라를 실시간으로 다루거나, 아주 매끄러운 성능이 제품의 핵심일 때만 네이티브(Swift)를 꺼내면 된다.

웹과 크게 다른 점. 앱은 만든 걸 스토어 심사에 통과해야 남에게 닿는다. 개발자 계정(애플은 연 $99), 앱 아이콘, 권한 설명 문구, 심사 지침처럼 웹엔 없던 관문이 붙는다. 그래서 만들기보다 내보내기가 더 걸린다(그 함정은 5장에서).

처음 조합(앱). Expo에 기기 안 저장(expo-sqlite)이면 계정도 서버도 없이 시작한다. 공유가 필요해지면 Railway 서버를 붙인다. iOS부터라면 Apple 개발자 계정을 미리 만들어 둔다.
실전04
04 · 프롬프트 → 결과물

진짜로 해본다

말로만 하면 안 와닿는다. 실제로 프롬프트를 치면 뭐가 나오는지 돌려서 보여준다. 아래 화면은 전부 진짜 결과물이다. 먼저 웹부터 본다. 간단한 방명록을 만든다.

웹 · 1단계 · 일단 만든다
나: 간단한 방명록 웹페이지 만들어줘. 이름이랑 한마디 남기는 칸이 있고, 아래에 남긴 글이 목록으로 보이게.
↓ 이렇게 나온다
첫 프롬프트로 나온 민짜 방명록. 제목, 입력칸, 목록만
1단계 결과. 꾸밈은 없지만 된다. 처음엔 이걸로 충분하다. 되는 걸 먼저 확인한다.
웹 · 2단계 · 예쁘게 다듬는다
나: 색을 따뜻하게 하고, 글은 카드처럼 보이게, 모바일에서도 잘 보이게 해줘.
↓ 같은 페이지가 이렇게 바뀐다
다듬은 방명록, 따뜻한 색과 카드형 목록, 모바일 대응
2단계 결과. 한 번에 다 시키지 않고 되게 → 예쁘게 순서로 나눈 게 요령이다.
웹 · 3단계 · 남기고, 올린다
나: 새로고침해도 글이 남게 저장해줘. 그리고 이걸 인터넷에 올리려면 어떻게 해?

여기서 2장의 선택이 등장한다. 저장이 필요해졌으니 브라우저 안 저장(간단)이나 서버에 SQLite(제대로) 중에 고른다. 올리는 건 Cloudflare Pages(무료)면 링크가 생긴다. AI에게 차근차근 알려달라고 하면 단계별로 짚어준다.

앱 · 같은 걸 앱으로 시작하면
나: Expo로 간단한 메모 앱 만들어줘. 메모 목록이 보이고, + 버튼으로 새 메모를 추가.
↓ 첫 화면은 이런 모습
Expo 메모 앱 첫 화면 예시. 목록, 추가 버튼, 하단 탭
앱 첫 화면(결과 예시). 웹과 흐름은 같다. 되게 → 예쁘게 → 저장. 다만 앱은 시뮬레이터로 확인하고, 뒤에 빌드와 심사가 붙는다.

프롬프트 잘 쓰는 네 가지

  • 한 번에 하나만. "예쁘게 + 저장 + 로그인" 한꺼번에 말고, 하나씩. 어디서 틀어졌는지 보인다.
  • 화면부터. 로직보다 "이런 화면"을 먼저 시키면 진행이 눈에 보여서 안 지친다.
  • 막히면 에러를 그대로. 빨간 글씨를 통째로 복사해 붙여넣으면 대개 그 자리에서 풀린다.
  • "왜 이렇게 했는지 설명해줘"를 붙이면, 코드가 아니라 감이 는다.
계속05
05 · 막히는 자리 + 계속하기

여기서 많이들 멈춘다

처음엔 누구나 같은 자리에서 막힌다. 미리 알면 안 무섭다.

"어제 되던 게 안 돼요"
대개 코드가 아니라 환경 문제다. 껐다 켜기, 새로고침, 다시 설치. 이 셋이 절반을 해결한다.
빨간 에러가 무섭다
에러는 혼내는 말이 아니다. 어디가 문제인지 알려주는 표시다. 그대로 AI에 붙여넣으면 번역해서 고쳐준다.
AI가 준 코드를 그냥 믿는다
되는 것과 안전한 것은 다르다. 비밀번호나 API 키가 화면에 노출되진 않는지, 요금이 새지 않는지 한 번은 되묻는다. 돌아간다고 다 된 게 아니라는 것, Giting이 늘 하는 말이다.
완벽하게 만들려다 못 낸다
처음 건 어차피 어설프다. 작게 내놓고 고쳐 가면 된다. 안 내는 것보다 어설프게라도 내는 게 낫다.
혼자 막힌다
같은 데서 막힌 사람이 이미 많다. 에러 문구를 그대로 검색하거나 커뮤니티에 물으면 대부분 나온다.
만드는 건 쉬워졌다. 잘 만들려고 오래 붙들기보다, 작은 걸 끝까지 남이 쓰게 해보자. 그 한 번이 다음 열 개를 만든다.
기티
기티의 한마디. 처음 판 굴이 제일 무섭습니다. 그래도 파고 나면 다음 굴은 훨씬 쉬워요.