우리는 여름 방학이 시작되고 교내 AI 공모전에 참가하기로 했다. 여기서 수상하게 되면 AI KOREA에 참가하게 되는 것이었다. 팀원은 나, 이준호, 이정혁 이렇게 3명이서 준비하게 되었다.
우리는 한 번도 해보지 않은 React, TypeScript, Electron, TailwindCSS, FastAPI를 이용해 만들기로 했다. 나는 방학 시작 후 1주일가량 React에 대해 공부했고 어느 정도 개발할 수 있는 수준이 되었다. 나는 프론트엔드를 맡아 개발을 시작했지만, TypeScript와 TailwindCSS가 처음에는 귀찮고 불편하게 느껴졌다.
이준호의 도움을 받아 어떻게든 개발을 이어 나갔다. 어려움이 많았지만 밤을 새며 작업한 덕분에 점차 TypeScript와 TailwindCSS에도 익숙해졌다. 어느새 우리의 낮과 밤은 완전히 뒤바뀌었고, 눈을 뜨면 오후 6시가 되어있었다.
개발을 진행하면서 아이디어에 대한 의문이 생겼다. 처음 아이디어는 영어 독해를 돕는 서비스였는데, 문장 구조를 표시하고, 같은 명사/대명사를 연결해주는 기능을 제공하는 것이었다. 그러나 우리 팀 모두가 "과연 이 서비스를 우리가 사용할까?"라는 생각이 들었고, 결국 아이디어를 수정하기로 했다. 새롭게 떠오른 아이디어는 읽기 보조 및 글 추천 서비스였다. 이 서비스는 RSS를 이용해 블로그나 언론사를 구독하고, 사용자의 체류 시간이나 저장한 글을 기반으로 글을 추천해주며, 읽기 보조 도구로 중요 문장 하이라이팅, 요약, 집중 모드 등을 제공했다.
개학이 다가오면서 우리는 개발 속도를 더욱 높였다. 다들 본인의 역할에 익숙해져서 작업이 더 빠르게 진행되었지만, 아이디어를 바꾸기 전 개발한 코드와 새로운 아이디어가 혼재되면서 파일 구조와 데이터베이스 구조가 엉망이 되었다. 그럼에도 불구하고 이미 프로젝트의 규모가 커져버려 다시 수정할 수 없는 상황이었다.
ChatGPT API 연결을 제외한 대부분의 기능은 완성되었다. 하지만 이번 주 금요일에 해커톤이 있었고, 해커톤이 끝나자마자 바로 학교에 등교해야 했다. 게다가 3일 후에는 중간 발표회가 예정되어 있어, 우리는 ChatGPT 연결을 최종 발표까지 미루기로 했다. 이후 개발을 마무리하며 중간 발표용 PPT도 준비했다.
해커톤을 다녀온 후 팀원들의 상태가 좋지 않았지만, 중간 발표회도 무사히 마무리했다. 이제 남은 것은 다음 주에 있을 최종 발표회였다.
ChatGPT와의 응답 기능을 구현하는 데 성공했다. 이제 자잘한 버그들을 수정해야 했지만, 학교 과제와 수행평가가 겹치면서 매우 힘든 시간이 이어졌다.
최종 발표는 7교시에 예정되어 있었으나, 6교시에 영어 단어 수행평가가 있어 발표 연습을 충분히 하지 못했다. 발표 30분 전에 시연 영상을 완성했고, 팀 발표 순서는 첫 번째였다. 정말로 어려운 상황이었다.
발표 중 대사가 바로바로 떠오르지 않아 한 마디 하고 생각하고, 다시 한 마디 하고 생각하는 식으로 진행했다. 유창하게 발표하지 못한 점이 너무너무 아쉬웠다.
질문 시간이 되었고, 한 심사위원이 우리의 서비스가 에이닷(AiDot)과 비슷하지 않냐는 질문을 했다. 우리 모두 해당 서비스를 잘 몰라 즉답하기 어려웠다. 발표가 끝난 후 찾아보니 에이닷은 통화 요약 기능을 제공하는 전혀 다른 서비스였다. 이로 인해 우리 아이디어가 제대로 전달되지 않았다는 것을 깨달았다. 결국 우리는 3위로 마무리하게 되었고, 아쉬움이 남았다.
우리는 AI KOREA의 둘째 날에 전시를 진행했다. 여러 기업 대표님들이 오셔서 우리의 서비스를 듣고 가셨고, 많은 칭찬을 받았다. 심지어 인도에서 오신 분들도 있었고, 다행히 영어 PPT를 준비해간 덕분에 영어로 소개할 수 있었다. 또 서비스 출시가 되었는 지 물어보시는 분들도 많았고 사용해 보고싶다는 분들도 많았다. 그렇게 오후 4시가 되어 돌아가게 되었고 버스에 오르자 모두 곯아떨어졌다.