[LingoConnect] 새싹 해커톤 후기

JUJU·2024년 8월 5일
1

프로젝트

목록 보기
18/26

약 1개월 간 진행된 새싹 해커톤이 끝났다.
첫 해커톤이기 때문에, 수상 보다는 경험하는 것에 의의를 두고 참여했다.
(솔직히 예선 점수가 높게 나왔을 때는 좀 기대했었다..)

비록 수상은 하진 못했지만, 배운점이 매우 많았기 때문에 여기에 기록해두려 한다.




1. 예선

예선은 7월 21일까지 제출한 기획서를 토대로 평가되었다.
깃허브 주소도 제출해야 했지만, 개발이 어느정도 이루어지고 있는지 파악하기 위함이지 평가는 아니라고 주최측에서 말했다.

우리 팀은 총 4인으로 구성되었다.

  • 프론트 2명, 디자인 1명, 백엔드(본인)

아이디어 회의

해커톤의 주제는 "생성형 AI를 활용한 약자와의 동행"이었다.
우리는 이 주제를 바탕으로 약 1주일간 아이디어 회의를 진행했고, 지적장애인을 위한 언어 학습 어플리케이션 - LingoConnect를 개발하기로 결정했다.


개발

아이디어 회의가 끝난 뒤부터 바로 개발에 착수했다.
예선 평가 전까지, 기능의 80% 정도를 구현했고 프론트와의 연동도 마무리 했다.


예선 결과

예선은 데이콘 회원들 + 심사위원의 투표 형식으로 진행되었는데, 약 100팀 정도 중에 4위를 기록했다🎉🎉
사실 이렇게 결과가 좋을 줄 예상하지 못했다.
"지적장애인을 위한 언어 학습 앱"이라는 주제가 혁신적이라고는 생각하지 않았기 때문이다.

"생성형 AI를 활용한 약자와의 동행" 이라는 주제에 적합한 아이디어였기 때문에 심사위원 분들이 좋은 점수를 주셨다고 생각한다.




2. 본선

본선은 무박 2일 동안 DDP에서 진행되었다.



기능 추가

예선에 제출한 기획서에는 없는 기능을 추가하기로 했다.

예선 기획서에는 지적장애인의 발음을 평가하고, 소통이 원활이 이루어지는지 확인하는 기능만 존재했다.

<예선 기획서의 일부>

하지만, 이 기능만으로는 결선에 진출하기 어려울 것 같다고 판단해서 여러 기능을 추가했다.

  1. 표현 학습 기능
  2. 학습 결과를 보호자에게 전송하는 기능
  3. 피드백 모아보기 기능

본선 결과

목요일 오전 10시부터 시작해서 금요일 오전 8시 30분까지 개발을 진행했다.
하지만, 결과적으로 기능 구현을 마무리 하지 못했다.
새롭게 추가한 "표현 학습 기능"이 프론트쪽과 연동하는 과정에서 오류를 발생시켰는데 그것을 해결하지 못한 채 시연 시간이 다가왔다.

시연 시간은 3분이었는데, 하필 우리 팀의 시연 차례가 1순위였다...
막판까지 오류 해결을 하느라 시연 준비를 하지 못했고, 우리는 준비한 기능의 반도 보여드리지 못한 채 시연을 마무리 했다..

결과는 당연히 결선 탈락이었다.




3. 배운점(경험)

상을 받지는 못했지만, 첫 해커톤인 만큼 배운 점이 매우 많았다.
개발 지식 뿐만 아니라, 해커톤이 어떻게 진행되는지, 아이디어 회의가 왜 중요한지, 프론트와의 협업은 어떻게 진행되는 것인지 등 많은 것을 알게되었다.

다음에 또 해커톤을 나가게 된다면 참고할만한 것들을 아래에 작성해두었다.

1. 판단을 잘하자

해커톤은 무박 2일이다.
잠을 제대로 자지 못하니, 판단이 흐려졌다.
결선에 진출하기 위해서는 우선순위를 제대로 설정해야 한다.
우리팀은 마지막까지 오류 해결에 매달렸기 때문에 시연 준비를 제대로 하지 못했고, 결과적으로 만들어놓은 기능의 반도 보여주지 못한 채 아쉽게 해커톤을 마무리하게 되었다.

2. 아이디어는 정말 중요하다

우리와 비슷한 아이디어로 결선에 진출한 팀이 있었다.
아이디어부터 기능까지 정말 비슷했는데, 그 팀의 완성도가 우리보다 높았던 것 같다.
만약 아이디어가 혁신적이지 않다면, 비슷한 아이디어를 가진 다른 팀과 경쟁해서 이길 수 있는 임팩트가 필요하다.

비슷한 아이디어를 가진 다른 팀을 이길 자신이 없다면, 아이디어 회의 기간을 늘리더라도 더 혁신적인 주제를 선정하는 것이 좋을 듯 하다.

3. 시연 시간은 정말 짧다

시연 시간 3분은 정말 짧았다.
게다가, 생성형 AI를 사용할 때 딜레이가 발생했기 때문에 그 부분이 시연 시간의 대부분을 잡아먹었다.
시연 영상을 미리 찍어둔 뒤에, 프로젝트의 기능과 함께 그 영상을 심사위원에게 보여주는 방식을 택한 팀도 있었다. 그리고 마지막 30초 정도가 남았을 때, 영상이 아닌 실제 어플리케이션의 기능 중 한가지를 실시간으로 심사위원들에게 보여주었다.

다음에 시연 기회가 생긴다면 이런 방식을 사용해보는 것도 좋을 것 같다.

4. 핵심 기능에 집중하자

어차피 시연 시간이 매우 짧기 때문에, 보여줄 수 있는 기능은 많지 않다.
핵심 기능의 퀄리티를 높이고 그 기능의 필요성을 입증시킬 요소를 준비하는 것이 다양한 기능을 구현하는 것보다 낫다고 생각한다.

웬만하면 저녁까지 모든 준비를 마친 뒤에 근처 찜질방이라도 가서 잠을 자자.
피곤하면 시연할 때 텐션도 안나오고 판단도 제대로 안된다.

5. 팀워크

본인이 맡은 파트가 끝났다고 손을 놓지 말자.
물론 잠깐의 휴식을 취하는 것은 좋지만, 본인이 맡은 부분의 개발이 끝났다고 해서 끝났다고 생각하지 말라는 의미이다.
필자는 6시쯤에 백엔드 개발이 끝나고 결선 발표 스크립트를 준비했다.
하지만 이 때 발표 스크립트를 준비할 게 아니라 프론트가 API 연동하는 것을 도와줬어야 한다.
결과적으로 API 연동을 마무리하지 못한 채 시연을 하게 되었고, 마지막까지 API 연동에 목매고 있느라 시연 준비를 하지 못했다.
백엔드 개발이 끝나더라도 프론트를 할 줄 안다면 도와주도록 하자.

4. 배운점(개발 지식)

  1. Assistant API 활용 방법
  2. 프론트 - 백엔드 간 음성 파일 전송 방법
  3. Wav와 PCM의 차이

https://velog.io/@jaewon-ju/LingoConnect-%EA%B0%9C%EB%B0%9C2-fmxlhcfs

profile
개발자 지망생

0개의 댓글

관련 채용 정보