AI를 사용해 10분 만에 앱을 만들었어요 — 결과는? 🤖⚡

발행: (2026년 2월 17일 오후 08:48 GMT+9)
8 분 소요
원문: Dev.to

Source: Dev.to

표지 이미지: AI를 사용해 10분 만에 앱을 만들었습니다 — 무슨 일이 일어났는지 🤖⚡

어떻게 시작했는가

어제 아침에 차를 끓이며 생각했어요 — “오늘은 뭔가 새로운 걸 해보자.”
보통은 디버깅이나 코드 제안을 받기 위해 AI 도구를 사용해요. 전체 앱을 만드는 건? 한 번도 시도해 본 적 없어요. 저는 흔히 하는 생각을 가지고 있었죠 — “그래 그래, AI가 그렇게 대단하진 않잖아.”

그런데… 제가 틀렸어요.

목표: 간단한 습관 추적기 앱

저는 의도적으로 간단하지만 유용한 것을 만들고 싶었습니다: 사용자가 다음을 할 수 있는 습관 추적기:

  • 일일 습관 표시
  • 연속 기록 확인
  • 동기 부여 인용구 받기

시간 제한: 10분.
타이머 시작. 시작합니다.

Timeline

Minutes 1–2: Idea & Setup

“간단한 습관 추적기 웹 앱을 HTML, CSS, 그리고 순수 JavaScript로 만들고 싶어요. 사용자가 일일 습관을 표시하고, 연속 일수(streak)를 확인하며, 동기 부여 인용구를 받을 수 있어야 합니다. UI는 깔끔하게 유지해주세요.”

응답은 2초 만에 도착했습니다 — 완전한 구조와 코드 스니펫.

Minutes 3–4: Copy‑Paste & First Run

ChatGPT가 다음 HTML 스켈레톤을 제공했습니다:

<!DOCTYPE html>
<html>
<head>
  <title>Habit Hero</title>
  <style>
    body { font-family: Arial; max-width: 500px; margin: auto; padding: 20px; }
    .habit { display: flex; justify-content: space-between; margin: 10px 0; }
    .completed { text-decoration: line-through; color: gray; }
    button { background: green; color: white; border: none; padding: 5px 10px; }
  </style>
</head>
<body>
  <h1>Habit Hero</h1>
  <p>"Small steps every day"</p>
  <!-- app content will be inserted here -->
</body>
</html>

그리고 app.js 파일은 다음을 처리했습니다:

  • 습관 배열 (Exercise, Read, Meditate)
  • 완료 버튼 클릭
  • 연속 일수 카운터
  • 무작위 인용구

첫 실행 결과

  • ❌ 습관이 표시되지 않음
  • ❌ 연속 일수가 업데이트되지 않음
  • ✅ 인용구 표시만 정상 작동

Minutes 5–6: Debugging with AI

오류를 복사해서 물었습니다:

“습관이 표시되지 않아요. 콘솔 오류: ‘Cannot read property appendChild of null’”

ChatGPT의 답변:

“스크립트가 DOM이 로드되기 전에 실행되고 있어요. 스크립트를 body 끝으로 옮기거나 DOMContentLoaded를 사용하세요.”

스크립트 태그를 body 하단으로 이동했습니다.

완벽히 작동했습니다.

Minutes 7–8: UI Improvements

앱은 동작했지만 디자인이 지루했습니다. 물었습니다:

“UI를 더 깔끔하고 현대적으로 만들어 주세요. 그라디언트 배경, 카드 디자인, 그리고 더 나은 폰트를 추가해 주세요.”

AI는 즉시 다음과 같은 업데이트된 CSS를 제공했습니다:

  • 선형 그라디언트 배경
  • 박스‑쉐도우가 적용된 습관 카드
  • 부드러운 호버 효과
  • 개선된 타이포그래피

이제 전문적인 모습이 되었습니다.

Minutes 9–10: Local Storage & Polish

새로 고침 시 연속 일수가 초기화되는 것을 발견했습니다. AI에게 요청했습니다:

localStorage를 구현해서 습관과 연속 일수가 유지되도록 해 주세요.”

AI가 제공한 스니펫:

// Save to localStorage
localStorage.setItem('habits', JSON.stringify(habits));

// Load from localStorage
const saved = JSON.parse(localStorage.getItem('habits'));
if (saved) habits = saved;

10분 후 — 최종 결과

10분 안에, 나는 다음을 만들었다:

  • ✅ 작동하는 습관 추적기
  • localStorage를 이용한 연속 횟수 카운터
  • ✅ 매일 동기 부여 인용문
  • ✅ 깔끔하고 현대적인 UI
  • ✅ 모바일 반응형

친구에게 보냈다. 그가 말했다: “10분 만에 이걸 만들었어? 나한텐 이게 이틀 걸릴 거야.”

핵심 교훈

  1. AI는 아직 개발자를 대체하지 않는다
    AI가 코드를 작성했지만, 디버깅하고 요구사항을 정의하고 모든 것을 검증한 것은 나였다. AI가 **80 %**의 작업을 수행했으며, 중요한 **20 %**는 인간의 사고였다.

  2. 프롬프트 엔지니어링은 실제 기술이다
    잘못된 프롬프트: “앱을 만들어줘”
    좋은 프롬프트:localStorage를 사용하고, 깔끔한 UI와 동기 부여 인용구가 있는 habit tracker를 만들어줘”
    구체적인 입력 = 더 나은 출력.

  3. AI 환각은 실제이다
    어느 순간 AI가 JavaScript에 존재하지 않는 함수를 작성했다. 나는 직접 그것을 잡아야 했다. 기본을 모르면 AI가 자신 있게 오도할 수 있다.

  4. 속도 향상은 실제다
    보통 2–3 시간이 걸리는 작업을 10 분에 끝냈다. 품질 관리? 여전히 인간의 일이다.

내 최종 결론

AI 덕분에 나는 10× 빠르게 작업할 수 있게 되었다. 그것은 내 일자리를 빼앗지는 않았다. 내가 개발자가 아니었다면, 나는 다음과 같은 것을 알지 못했을 것이다:

  • 오류가 왜 발생했는지 알 수 있었다
  • localStorage를 이해했다
  • 좋은 UI 결정을 내렸다
  • 코드를 최적화했다

AI는 숙련된 개발자에게는 초능력이다. 초보자에게는 양날의 검과 같다 — 도움이 되지만, 의존성을 만들 수 있다.

보너스: 내 프롬프트 템플릿

직접 시도해 보려면 다음과 같이 사용하세요:

I need a [app type] with [features].
Tech stack: [HTML/CSS/JS or others].
UI should be [clean / modern / fun].
Extra requirements: [localStorage, API, etc.].

어떻게 생각하시나요?

AI를 사용해서 무언가 만든 적이 있나요? 어떤 도구를 사용했나요? 경험은 어땠나요? 댓글을 남겨 주세요 — 모두 읽고 답변합니다.

0 조회
Back to Blog

관련 글

더 보기 »

채용 중인 기업 — 2026년 2월

Dev‑First 기업의 오픈 포지션: Product engineers, Developer advocates, 혹은 Community builders? 새해를 맞아 dev tools 분야에서 새로운 기회를 시작하세요.