본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 10. 21:15

AI SaaS를 바이브 코딩(vibe-code)하고, Google Cloud 버그를 수정하며, 폭발적인 $0 MRR을 달성하는 방법

요약

1인 개발자가 AI를 활용한 '바이브 코딩' 방식으로 자동 가라오케 자막 도구인 Reelsub을 구축한 사례를 소개합니다. Google Cloud의 Cloud Run과 Speech-to-Text 모델을 활용하여 비용 효율적이고 확장 가능한 인프라를 설계하는 방법을 다룹니다.

핵심 포인트

  • AI 기반 '바이브 코딩'을 통한 빠른 프로토타입 및 서비스 구축
  • Cloud Run을 활용한 서버리스 렌더링으로 인프라 비용 최적화
  • 지연 시간 단축을 위해 음성 인식과 렌더링을 동일 리전에 배치
  • Google Speech-to-Text의 chirp_2 모델로 정밀한 자막 동기화 구현

저는 Vue/Nuxt 프론트엔드 개발자입니다. 본업을 유지하면서 사이드 프로젝트로 짧은 세로형 영상(Reels, Shorts, TikTok)을 위한 자동 가라오케 자막 도구인 Reelsub을 만들었습니다. 이 서비스는 reelsub.app에서 운영됩니다. 처음에는 저 자신을 위해 만들었지만, 이후 공개했습니다. 팀도, 투자자도, 디자이너도 없는 1인 개발입니다. 저는 약 99%를 바이브 코딩 (vibe-coded)했으며, 인프라는 Google Cloud에서 운영했습니다.

왜 자막 도구인가

저는 TikTok, Instagram, YouTube에 짧은 영상을 게시하기 때문에 항상 영상을 편집합니다. 자막은 시청 시간 (watch time)을 유지하는 데 핵심적인 역할을 합니다. 대부분의 사람들은 음소거 상태로 피드를 스크롤하며, 화면상의 텍스트가 그들의 시선을 붙잡습니다. 기존의 편집기들은 저를 미치게 만들었습니다. 이것저것 결제해야 했고, 결제하지 않으면 얼굴 절반을 가로지르는 워터마크가 찍힌 720p 결과물만 받을 수 있었습니다. 저는 단순한 것을 원했습니다: 클립을 업로드하고, 정확한 자막을 얻고, 워터마크 없이 다운로드하며, 적어도 몇 번은 무료로 사용하고, 모든 음성이 비트에 맞춰 정확하게 강조되는 기능 말입니다. 그 가라오케 효과가 핵심이었습니다.

첫 번째 버전은 제 침대 밑에 있었습니다

프로토타입은 로컬에서 실행되었습니다. 저는 집 컴퓨터에 있는 제 RTX 4070에서 Whisper를 사용하여 음성 인식 (speech recognition)을 수행했습니다. 저에게는 잘 작동했고, 명령어를 직접 입력하지 않아도 되도록 작은 UI도 만들었습니다. 그러다 문득 생각이 들었습니다. '나는 개발자니까, 이걸 출시할 수 있어.' 그래서 홈 해킹 (home hack) 결과물이 브라우저에서 여는 서비스가 되었습니다.

모든 것은 Google Cloud의 한 개 리전 (West Europe)에서 실행됩니다. 이는 의도된 것입니다. 음성 인식 (speech recognition)과 비디오 렌더링 (video rendering)이 동일한 리전에 위치하여 데이터가 지구 반대편을 가로질러 이동하지 않도록 했습니다. 단일 리전 사용은 지연 시간 (latency)을 줄이고 서비스 간 트래픽 비용을 낮춰줍니다.

actual costs of infrastructure to date

렌더링(Rendering)은 Cloud Run에서 실행됩니다. 부하가 걸리면 확장(scale up)되고 처리할 작업이 없으면 종료되므로, 유휴 하드웨어(idle hardware)에 대한 비용을 지불하지 않습니다. 수익이 없는 1인 프로젝트에게 이것은 금과 같습니다. 인프라가 스스로 확장되며, 비용은 누군가가 실제로 렌더링을 할 때만 증가합니다.

프로덕션(Production) 환경에서 전사(transcription)는 Google Speech-to-Text의 chirp_2 모델을 사용합니다. 이 모델은 단어별 타이밍(per-word timings)을 반환하는데, 이것 없이는 자막을 동기화할 수 없습니다. 이것이 밀리초 단위까지 정확한 가라오케 효과(karaoke effect)를 구현하는 핵심입니다.

Google은 상환할 필요가 없는 300달러의 크레딧을 제공했습니다. 지금까지 100달러 미만으로 사용했으므로 아직 여유(runway)가 있습니다. 계획은 간단합니다. 크레딧이 소진되기 전에 첫 고객을 확보하는 것입니다. 설령 소진되더라도, 가장 비용이 많이 드는 부분은 작은 VDS일 뿐이며, 나머지 모든 것은 클라우드에 존재하며 단 몇 센트의 비용만 발생합니다.

고통스러운 부분: ffmpeg로 자막을 입히는 과정

이 부분이 프로젝트를 거의 끝낼 뻔했습니다. 고객이 없는 도구에 클라우드 GPU(Cloud GPU)는 너무 비쌉니다. 제 VDS의 CPU는 동시에 많은 사용자를 처리할 수 없습니다. WebGL을 사용하여 브라우저에서 렌더링하는 것도 고려해 보았지만, 이는 기기별로 끝없는 디버깅을 유발하며 오래된 Android 기기에서는 제대로 작동하지 않습니다. 결국 Cloud Run으로 결론을 내렸습니다. 렌더링을 클라우드로 옮겼고, 스스로 확장되며, 제 VDS는 다시 자유로워졌습니다. 여전히 가장 느린 단계이긴 합니다. 영상 1초당 약 1.2초가 소요되어 실시간보다 느리지만, 현재로서는 이 상태로 지내고 있습니다.

진정한 엔지니어링: 붕괴된 타이밍(collapsed timings)

여기서 바이브 코딩(vibe-coding)이 끝나고 엔지니어링이 시작되었습니다. chirp_2는 때때로 타이밍을 붕괴시켜(collapses timings) 단어 묶음을 단일 타임스탬프(timestamp)로 반환합니다. 화면에서는 자막이 한꺼번에 깜빡이거나 멈춰버립니다. 자막 도구에게 이것은 치명적입니다. 파일을 LLM에 입력하는 것도 도움이 되지 않았습니다. 모델들은 실제로 무엇이 맞는지 알지 못했습니다. 그래서 직접 간단한 해결책을 작성했습니다. 타이밍이 붕괴될 때, 가장 가까운 두 개의 올바른 타임스탬프를 가져와 그 사이에 단어들을 균등하게 배분하는 방식입니다. 실제 음성에서는 그 경계선을 찾아낼 수 없습니다.

핵심 요약 (Takeaway): 바이브 코딩 (vibe-coding)은 작업의 약 80%를 가속화합니다. 나머지 20%는 제품의 핵심이며, 이는 직접 손으로 구축해야 하는 부분이고 바로 그것이 중요합니다. 실제 프로덕션 (production) 경험이 그 과정에서 당신을 구해줄 것입니다.

정직한 성장 지표 (Honest traction)

UI of the main page

사용자 5명. 친구와 가족들입니다. 사람들은 무료임에도 나타나지 않습니다. 채팅방과 Threads에 글을 올렸지만, 지금까지는 침묵뿐입니다. 제품을 만드는 것이 사람들이 제품을 사용하게 만드는 것보다 더 쉽다는 사실이 밝혀졌습니다. 이것은 숨겨야 할 것이 아니라 이야기의 일부입니다.

무료 및 카드 등록 미요구 이유
대기업들이 체험판 (trials)을 운영하는 방식이 저는 싫습니다. 아주 짧은 시간의 액세스 권한만 주거나, 미리 카드 정보를 요구하죠. 저는 워터마크(watermark)도 없고 카드 등록도 필요 없는 진정한 무료 체험을 제공하고 싶습니다. 가치를 먼저 제공하고, 돈 이야기는 나중에 하겠습니다.

Reelsub는 Reels, Shorts, TikTok을 위한 자동 자막 (automatic captions)을 제공하며, 워터마크가 없고 시작은 무료입니다: reelsub.app. 접속해서 이것저것 만져보고, 망가뜨려 보세요. 피드백은 매우 큰 의미가 있습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0