TubeLingo AI Logo
journey

화면이 새하얗게…. 실패와 토큰 한계를 넘어온 40대 엄마의 AI 개발 일기

1월 10일. AI 점술 사이트를 세상에 내놓은 지 약 한 달 반이 지났습니다.

어느새 두 번째 사이트 'TubeLingo'에서 계획했던 마지막 기능, 영어·일본어·한국어 문법 학습 기능 제작이 완료됐습니다.

UI와 UX는 여전히 어딘가 어설프고, 분명 숨어 있을 자잘한 버그들. 신경 쓰이는 부분은 많지만 일단 여기서 TubeLingo 개발에 첫 번째 마침표를 찍으려고 합니다.

왜냐고요?

운동을 일보다 더 진지하게 하는 남편이 요청한 세 번째 서비스 개발을 시작하고 싶거든요.

에러 화면과 씨름하는 여성의 일러스트

이상과 현실의 간극에 매일 고민하는 나날들

올해 목표는 '앱 10개 만들기!'였는데, 두 개 만들어 보니 뼈저리게 깨달았습니다. 막상 만들기 시작하면 의외로 작은 고집들이 불어나서 쉽게 마침표를 찍기가 어렵다는 것을.

그래서 올해 목표를 수정했습니다. 일단 5개. 다섯 가지 아이디어를 형태로 만드는 것을 목표로 합니다.

여기서 지금까지의 '지저분한 현실'을 조금 돌아봐 보겠습니다.

처음엔 입력하면 결과가 나오는 단순한 점술 사이트였습니다. 그것조차 엄청 힘들었어요. AI와 코딩을 처음 해봤고, AI와 어떻게 협업해야 하는지 더듬더듬 배워가는 날들이었죠. Gemini Pro나 고속 모드의 존재도 잘 몰랐지만, 일단 보고 따라 하면서 서비스를 만들었습니다.

그리고 두 번째, TubeLingo.

처음에는 간단하게 생각했던 기능들이 코드 양이 점점 불어나며 제 상상을 훨씬 넘어섰습니다. 그걸 Gemini에게 프롬프트로 작성하게 하고 그것을 복붙해서 구현하는 방식이었는데, 지금 생각하면 꽤 무모한 도전이었습니다.

"코드를 복붙하기만 하면 된다" — 말하면 간단하지만, 현실은 녹록지 않습니다.

기능이 늘어날수록 코드의 줄 수는 수백 줄로 불어나고, AI가 제시한 코드를 붙여 넣는 위치를 단 한 줄만 잘못 잡아도 프리뷰 화면이 새하얗게 변해버립니다 — 이른바 '화이트아웃'의 절망감.

{ (중괄호) 하나가 빠졌다거나, 지우면 안 되는 태그를 지워버렸다거나, 그것만으로도 에러 원인을 모른 채 몇 시간을 끙끙대는 일이 일상이었습니다.

게다가 긴 코드를 AI에게 읽히다 보면 AI도 이전 맥락을 잊어버리고, 갑자기 엉뚱한 수정안을 내놓기 시작하는 현상과도 맞닥뜨렸습니다.

'토큰 한계(AI가 한 번에 처리할 수 있는 정보의 한계)' 라는 벽에 몇 번이나 부딪혀 눈물을 머금고 비용이 드는 Ultra Plan으로 이동하는 등, 지갑에도 적지 않은 타격을 받았습니다.

단어 기능과 문법 기능을 구현할 때는 에러투성이라 전혀 진행이 안 돼서 '이 기능은 그냥 없애버릴까'라고 진지하게 포기 모드에 빠지기도 했습니다. 그럼에도 어찌어찌 끝까지 달릴 수 있었던 건, 이게 원래 IDE(개발 환경) 도구 위에서 이뤄지는 '바이브 코딩'의 현실이라는 걸 조금씩 이해하기 시작했기 때문인지도 모릅니다.

바로 며칠 전에도, 조금 익숙해졌다고 방심하다가 또 실수를 저지르고 말았습니다.

하루 종일 작업해서 한국어 문법 25개 유닛 분량의 데이터를 완성했는데, 어느 순간 보니 1개 유닛밖에 표시되지 않는 겁니다.

또다시, 제 지시 미스인지 AI의 움직임인지, 지금까지의 작업이 모두 사라져버린 거예요.

복원할 수 있다고 해서 AI에게 밤새 복원 처리를 돌려달라고 했지만, 아침에 일어나서 확인한 화면은 볼 수 없을 정도로 기호가 깨진 글자들 투성이였습니다.

文字化けした韓国語文法の復元画面1

밤새 기다린 결과가, 이 깨진 글자들

文字化けした韓国語文法の復元画面2

한숨밖에 나오지 않던 절망의 순간

하지만 이번이 두 번째 큰 실패라 그런지, 이상하게도 당황하지 않았습니다.

하나씩, AI와 함께 고쳐나가면 된다. 생각했던 것보다 어렵지 않다. 실패를 경험하는 것의 크기와, 立ち直る 속도의 빠름을 스스로도 깜짝 놀랄 정도로 실감했습니다.

'Git Commit(깃 커밋)'이란?

여기서 제가 게을리했다가 크게 고생한 'Git Commit'에 대해 조금 설명할게요.

게임을 할 때 강한 보스와 싸우기 전에 '세이브'를 하죠? 프로그래밍에서의 Git Commit은 바로 그 세이브 포인트를 만드는 작업입니다.

이걸 자주 해두지 않으면, 저처럼 무언가 문제가 생겨 '화면이 새하얗게 변하거나' '데이터가 사라졌을 때' 몇 시간 전 상태, 최악의 경우 처음부터 다시 시작해야 하는 상황이 됩니다. 그 절망감을 피하기 위한, 개발자에게 있어서의 생명줄 같은 것입니다.

겨우 3주 남짓의 TubeLingo 개발. 정말 수많은 배움(이란 이름의 실패)이 있었습니다.

Antigravity라는 새로운 환경에 적응하기, 몇 번이고 맛본 토큰 한계의 좌절, 그리고 늘어나는 비용. 그래도 도전하길 잘했다고 진심으로 생각합니다.

이 TubeLingo는 저의 아이들과 제 아버지가 한국어와 일본어를 조금씩 배워, 서로 말을 나눌 수 있는 날이 왔으면 하는 개인적인 바람에서 탄생했습니다.

질 좋은 교육 콘텐츠를 무료로 제공함으로써, 조금이나마 세상에 도움이 될 수 있다면 기쁠 것 같습니다.

자, 세 번째 서비스.

드디어 로그인 기능과 매일의 기록을 저장하는 데이터베이스 기능에 도전합니다. 단순한 화면 제작과는 다른, 눈에 보이지 않는 뒷단의 구조에 대한 도전. 잘하면 유료 기능으로 수익화도 도전할 수 있을까…라는 꿈도 부풀리면서.

40대 중반 엄마, 넘어지면서도 아직 도전은 계속됩니다.

YouTube의 '생생한 목소리'로 배우기 📺

영상 URL을 입력하기만 하면.
실제 댓글과 슬랭을 AI가 해설해 드립니다.

배운 것을 바로 실천 ✍️

'나 자신'을 주어로 일기를 써보지 않을래요?
AI 튜터가 자연스러운 표현으로 첨삭해 드립니다.