Code › tail-villain
테일빌런을 OpenAI Build Week에 출품하다!
OpenAI Build Week 해커톤 출품기
이번에 OpenAI Build Week을 알게 되어서 한번 테일빌런을 출품해볼까 하는 생각이 있었다. 해커톤은 처음이긴 하지만 온라인으로 다 처리가 가능하고 개인으로도 출전이 가능해서 한번 진행 해 보았다. 결과적으로 재미있는 과정이었다.
테일빌런은 OpenAI Build Week가 시작되기 한참 전인 5월에 배포했었고, 당시 과정은 테일빌런 첫 베타 출시에 정리했다.
이미 테일빌런에는 로드맵과 Study, 모의 인터뷰, 리포트 기능이 있었고 Gemini 기반의 텍스트와 스트리밍, 라이브 음성 스트리밍 기능도 동작하고 있었다. Build Week 동안 한 일은 이 제품을 처음부터 새로 만든 것이 아니라, 기존 구조 위에 개인화 RAG와 적응형 복습, GPT-5.6, OpenAI Realtime을 연결해 학습과 인터뷰 경로를 확장한 것이었다.
그래서 제출 준비에서는 기능을 많이 나열하기보다, 원래 있던 제품과 8일간 추가한 작업을 구분하고 심사관이 그 차이를 확인할 수 있게 했다.
OpenAI Build Week 대회 개요
OpenAI Build Week은 Codex와 GPT-5.6을 활용해 프로젝트를 만드는 글로벌 온라인 해커톤이었다. KST 기준 등록 기간은 7월 10일 오전 2시부터 7월 22일 오전 9시까지였고, 실제 제출은 7월 14일 오전 1시부터 받았다.
총 현금 상금은 $100,000으로, 한화 약 1억 4,700만 원이다. Apps for Your Life, Work & Productivity, Developer Tools, Education 네 트랙에서 각각 1위 $15,000(약 2,200만 원), 2위 $10,000(약 1,470만 원)을 수여하며, 테일빌런은 Education 트랙으로 제출했다. 한화는 2026년 7월 24일 환율을 $1당 약 1,470원으로 잡아 계산했고, 수상작 발표 예정일은 8월 12일이었다.

제출에 필요한 것들 챙기기
Devpost 출품 페이지의 요구사항을 확인하면서 제출에 필요한 증거를 먼저 목록으로 만들었다. 실제로 동작하는 서비스와 저장소, 공개 데모 영상, 영문 프로젝트 설명, 심사용 계정과 실행 순서, GPT-5.6과 Codex를 어떻게 사용했는지 설명하는 README, 그리고 Codex 피드백 세션 식별자가 필요했다.
기능은 이미 구현되어 있었지만, 심사관는 내가 지난 몇 달 동안 무엇을 만들었는지 알 수 없다. 서비스에 들어와 어디부터 눌러야 하는지, Build Week 기간에 무엇이 달라졌는지, OpenAI 연동이 어디서 동작하는지 알아서 보라고 할 수도 없었다 ㅋㅋ
Goal과 Background로 개인화 로드맵을 만들고, RAG가 Study와 인터뷰에 사용자 문맥을 전달하며, Quick Review가 기억 상태를 갱신하는 학습 루프를 중심에 놓았다. GPT-5.6과 Realtime은 그 루프 안에서 구조화된 로드맵과 대화, 음성 인터뷰를 담당한다.
제품의 기능 목록보다 사용자가 어떤 순서로 경험하는지를 먼저 설명해야 전체 구조가 이어졌다.
Build Week 기간에 작업한 내용 따로 정리하기
일단 모든 것을 행사 기간에 만들었다고 보이게 하기 보다, 이 기간에 기존 프로덕트 위에 어떤 작업을 했는지를 명시하는 쪽으로 방향을 잡았다.
README에는 Build Week 동안 확장한 범위를 별도로 정리했다. Study와 Interview가 함께 쓰는 개인화 RAG, 검색 내용 자체를 노출하지 않는 관측 지표와 평가 기준, FSRS 기반 Quick Review, GPT-5.6과 Gemini fallback을 다루는 provider-neutral 구조, OpenAI Realtime과 TTS·STT, 스트리밍 opening과 답변, 심사 계정을 위한 운영 경로가 여기에 포함됐다.
날짜가 남은 커밋과 개발 로그도 유지했다. 기능이 현재 존재한다는 사실만으로는 언제 만들어졌는지 알 수 없지만, 커밋과 로그를 함께 보면 행사 전 제품과 Build Week 기간에 추가한 작업을 구분할 수 있기 때문이다.
GPT-5.6 연동하기
제출 설명에서 GPT-5.6을 모든 AI 기능 앞에 붙이는 방식은 피했다. 테일빌런은 여러 provider를 사용할 수 있고, 작업마다 필요한 응답 특성도 다르기 때문이다.
사용자와 빠르게 대화해야 하는 Study와 Interview 턴에는 지연 시간이 짧은 GPT-5.6 경로를 사용하고, 로드맵 분석과 토픽 생성, 평가처럼 구조와 추론이 더 중요한 작업에는 별도의 모델을 사용했다. OpenAI 요청이 일시적으로 실패할 때는 Gemini가 명시적인 fallback으로 남아 있다.
제출 문서에는 모델 이름과 역할을 적었다. 어떤 사용자 행동이 어떤 생성 경로로 이어지고, 실패하면 어디로 이동하며, provider와 무관하게 어떤 기능을 기대하는지 구분했다.
이전부터 잘 써오던 Codex
실제로 Codex는 코딩 에이전트로 오래전 부터 사용 해 왔다. 테일빌런의 코드는 99퍼센트는 에이전트로 개발했고 설계 단계 부터 구현, 문서정리, 테스트, 디자인, 조사 등등을 모두 위임시켰다. 내가 한 것은 기획과 설계, 그리고 감독이었는데 대부분의 경우 매우 만족스러웠다. 간혹 말귀를 못알아먹거나 사용량 리밋을 넘기면 아무것도 못하는 상황이 오긴 했지만 ㅎㅎ 내가 얼마나 에이전트에 의존하고 있는지 깨닫게 되는 순간들이 있었고, 이제는 순수 타이핑을 하는 코딩으로 돌아갈 수 있지도 의문이다. (물론 돌아갈 일도 없을 것 같지만)
안내 README 작성
테일빌런의 기능을 전부 둘러보려면 시간이 꽤 걸린다. 심사관에게 모든 메뉴를 탐색하게 하는 대신, 제품의 핵심을 훑어볼 수 있는 순서를 작성했다.
Goal과 Background로 로드맵 생성
→ Study에서 개인화 문맥 확인
→ Text, AI Voice 또는 Live Interview 진행
→ Quick Review로 복습 일정 갱신
→ 인터뷰 리포트와 준비 상태 확인
이 순서라면 RAG가 단순 검색 데모가 아니라 학습과 인터뷰에 함께 쓰인다는 점, 음성 기능이 별도 장난감이 아니라 같은 세션 흐름 안에 있다는 점, 인터뷰 결과가 복습 일정으로 이어진다는 점을 한 번에 확인할 수 있다.
심사용 계정 정보는 저장소에 넣지 않았다. README에는 심사관이 어디에서 계정을 전달받는지만 적고, 실제 자격 증명은 Devpost의 비공개 영역으로 분리했다. 환경 변수와 API 키는 당연히 제외했고, Codex 세션 로그도 개인 정보나 이력서 내용, 내부 대화가 포함될 가능성을 기준으로 따로 검토했다.
최종 데모 영상 만들기
생각보다 여기에 시간을 많이 쓰게 되었는데, 기능 설명을 정리한 뒤 마감 전에 데모 영상을 다시 녹화하고 음성도 영어로 새로 입혔다. 처음 만든 버전으로 제출했다가 생각해보니 GPT 언급을 안했어서 다시 녹음했다. 그래서 최종본은 GPT-5.6을 제품에 사용했다는 점과 Codex를 개발 과정에서 활용했다는 점을 직접 언급했다.
최대 3분까지 영상을 만들어야 해서 모든 기능을 해당 시간안에 설명할 수는 없었고, README에 적어둔 핵심 기능들을 영상에서도 확인할 수 있게 했다.
마무리
최종적으로 출품을 완료하였는데 사실 크게 기대는 안한다. 상금이 크긴 하지만 전세계에서 46,793명의 참여자가 등록되었고 나도 그 중 한명이다. 사실 개발만 잘 한다고 끝이 아니라 대회에 제출해야하는 문서 작성, 설명을 돕는 이미지들, 유튜브 기능 설명 비디오, 잘 어필할 수 있는 문구로 포장하는 것, 디자인 등등 모든 요소들이 어우러져야 하는데 나 혼자서는 그 모든 것을 높은 수준으로 해낼 수 없었다. 물론 AI를 쓰면 되지 않느냐라고 할 수도 있는데 반은 맞고 반은 틀리다. 이전에는 내가 건드리기도 힘들었던 디자인 영역이었지만, 이제는 그림 한장 그리지 않고 superpowers의 스킬로 한번에 테마에 맞는 디자인 시스템을 구성하고 바로 제품에 적용 할 수 있었다. 다만 AI는 그것을 쓰는 사람의 능력만큼 잘 사용하게 되므로, 내가 디자이너였다면 훨씬 좋은 디자인 퀄리티를 뽑을 수 있었을 것이고 내가 마케터였다면 심사관들에게 어필할 수 있는 훨씬 좋은 문서와 설명, 그리고 이미지를 뽑아 넣었을 것이다.
그래서 각 분야의 전문가가 있고 팀이 있는 것 같다.
이상 테일빌런 출품기는 끝!