지난 주 토요일(2.6)을 끝으로 2월 4일부터 3일간 과학기술정보통신부가 주최한 SW중심대학 공동 해커톤을 좋은 성과를 내며 끝맺었다.
2021 SW중심대학 공동해커톤은 KAIST를 포함해 SW중심대학으로 지정된 39개의 학교에서 출전한 소프트웨어 개발자 및 디자이너들이 팀을 구성하여 주제에 맞는 앱, 서비스, 라이브러리 등을 구현하는 행사다.
학교마다 4명씩 선발되었으며, 나는 학교 대표 개발자로 선정되어 참가했다. COVID-19로 인해 온라인으로 진행되었고, 188명의 참가자들이 모였다.
아이디어 등록 및 팀빌딩
해커톤 개시 전 5일 동안 아이디어를 등록할 수 있었다. 나는 "언택트 상황 속 집중을 위한 솔루션"이라는 아이디어를 등록했다. 이는 6번째 아이디어였으며, 등록 직후 20명 이상의 참가자들로부터 팀 참가 신청을 받았다.
최종적으로 5명의 팀원을 선정했다:
- 병규형 (프론트엔드/풀스택)
- 지희누나 (백엔드)
- 지오 (머신러닝)
- 예준누나 (디자인)
- 나 (팀장/기획)
첫째날
아이디어 피칭 및 팀빌딩
팀은 이미 구성되어 있었지만, "Why-How-What" 기반의 아이디어 정의 회의를 진행했다.
개발 시작
기술 스택:
- 프론트엔드: React, Antd UI Framework
- 백엔드: Node.js, Django
- 데이터베이스: MySQL, Redis
- 클라우드: AWS EC2, S3
팀은 Slack, Notion 칸반보드, 3시간마다의 Zoom 미팅을 통해 소통했다.
둘째날
약 3시간의 수면을 취한 후 개발을 계속했다.
나는 기획자(PM)로 역할이 변경되었으며, 개발자-디자이너 간 소통을 담당했다.
핵심 기능:
- 집중도를 AI가 실시간으로 감지하는 서비스
- WebRTC API를 활용한 실시간 영상 전송
- OpenVidu 활용
- TensorFlow를 이용한 얼굴 방향 인식
서비스명 결정:
- 팀명: FocusWithMe
- 서비스명: "Dive In" (수영장에 함께 빠져 몰입한다는 느낌)
멘토들로부터 피드백을 받으며 프로젝트를 개선했다.
셋째날 및 제출
오전 5시경 잠이 들었고, 8시에 깨어 발표 자료 작성을 완료했다.
원래 목표였던 기능들(집중 타임라인, 다양한 상황 인식, 리워드 시스템, 친구와의 경쟁 기능)을 모두 구현하지 못했으나, 핵심 기능(얼굴 유무 및 방향 인식)은 완성했다.
제출 1시간 전에 최종 프로젝트를 완성했다.
발표 및 시상
최종 발표는 팀당 3분이 주어졌다.
2분 47초로 맞춘 발표 영상을 공유했으며, 도메인을 통해 실제 서비스 시연이 가능했다.
결과: 대상 수상!
참가자, SW중심대학 교수, 산업체 전문가의 투표로 선정되었다.
이번이 순수 해커톤 경험이었으며, 두 번의 해커톤 참가에서 두 번 모두 1위를 달성했다.
전국의 개발자, 디자이너들과의 교류를 통해 개발에 대한 열정과 실력을 확인했다. 3월부터 네이버 인턴십을 시작할 예정이며, 4학년 전에 군입대를 고려 중이다. 팀원들과 함께 이 서비스를 배포할 수 있기를 바란다.