회고
2024.05.10 ~ 2024.05.11.
팀 모집
학과 홈페이지 구독 서비스 MailBadara에서 해커톤 소식을 접했다. 인턴과 졸업과제를 병행하는 중이라 바쁜 상태였지만, 해커톤이라는 단어를 보자마자 참을 수 없어서 바로 팀원을 모집했다. 졸업한 타학교 컴공 친구를 부를까 했지만, 모집 대상이 재학생 한정이었다. 그래서 현재 소속된 부산대학교 인공지능 동아리 AID에서 팀원을 모집하기로 했다.
다년간의 해커톤 경험(총 7번)으로 다져진 내가 팀원을 모집할 때, 최소한으로 보는 기준은 다음과 같다.
- 최소한 하나의 인공지능 분야를 공부했는가
- 파이썬을 읽고 쓸 줄 아는가
- 수상하지 못하더라도 배우고 즐기겠다는 마인드인가
"반드시 해커톤에서 수상하고 말겠다"는 마인드이면 본인이 조금 힘들 수 있다. 본인의 구현 실력과 해커톤의 수상은 큰 상관이 없다. 개인적인 생각으로 해커톤(Hackathon)에서 중요한 것은 "아이디어"와 "발표", 그리고 "팀워크"이다. 사실 주제에 맞는 좋은 아이디어를 잘 만들어서 발표를 잘 하는 것 뿐이다. 아이디어에 비해 구현 완성도의 중요도는 조금 떨어진다. 실력이 좋다고 해서 좋은 아이디어가 나오는게 아닌데, 수상을 목표로 했다가 탈락하면 상실감과 박탈감이 장난아니게 크다. 그래서 해커톤의 수상을 목표로 하기보다는 해커톤 자체를 즐기고 배움의 기회로 삼고자 하는 마인드가 중요하다고 생각한다.
만남
이렇게 같은 동아리 소속이지만, 전혀 면식이 없는 네 사람이 모이게 되었다. Next.js를 주로 다루는 프론트엔드 개발자인 나(@KimCookieYa)와 마찬가지로 Next.js를 주로 다루며 컴퓨터 비전을 공부하고 있는 @bluelemon61, 불어분문 전공에 컴공을 복수전공하며 언어모델에 관심을 가지고 있는 @JakeFRCSE, 음성 데이터에 관심을 가지고 머신러닝과 데이터 분석을 공부하고 있는 @hsh1357
대회를 일주일 앞두고 팀원들끼리 생각을 공유하고 친해지는 시간을 가지면 좋을 것 같아서 서면 스타벅스에 모였다. 아쉽게도 사진이 없지만, 말도 트고 서로의 대회에 임하는 자세, 주 전공과 관심 분야, 대회에서 하고 싶은 것, 앞으로의 커리어 등에 대해 다양한 이야기를 나눌 수 있었다.
해커톤의 장점이 이런 것이라고 생각한다. 평소 알고 지내던 사람들과는 다른 사람들과 이야기하며 내가 모르는 지식을 전공하고 있는 사람들에게서 몰랐던 이야기도 들을 수 있고 내가 관심도 없던 분야에서 되게 독특한 아이디어가 뿜뿜 튀어나올 수도 있다. 이런게 네트워킹이지!
이후로 대회 주제가 공개된 이틀 전에는 디스코드 비대면 회의를 진행하면서 계속해서 아이디어를 빌드했다.
대회 당일
수원역에 모여서 다같이 택시를 타고 해커톤이 진행되는 경희대학교 국제캠퍼스로 출발했다. 분캠인 국제캠퍼스도 엄청나게 이뻐서 놀랐다. 대학 조망은 부산대가 진것 같다.
저녁은 한솥이라 조금 실망스러웠지만.. 야식, 간식, 아침까지 다 챙겨줘서 좋았다.
경희대 주최의 해커톤이라 그런지 참가팀 40팀 중에 대부분이 경희대학교 소속이었고, 아주대, 충북대?, 소프트웨어융합대학 소속의 여러 대학의 학생들이 참여했다. 그리고 부산에서는.. 아마 우리가 유일한 것 같다. 당당하게 팀이름도 동아리 이름인 AID로 박았다.
프로젝트 빌딩
대회 당일에 상세하기 무슨 일이 있었는지 적기는 번거로워서.. 최대한 축약해서 기록하겠다. 개회식을 진행한 후, 사전에 회의했던 아이디어를 구체화하기로 했다.
우리의 프로젝트는 "컴퓨팅 자원을 절약하게 해주는 AI 미연시 데스크탑 앱"이다....! 초기 기획에는 아예 LLM모델과 생성형 AI를 사용해서 AI 미소녀를 돌릴 생각이었지만, 컴퓨팅 자원을 아끼기 위한 앱인데 LLM을 사용하면 앱이 잡아먹는 리소스가 더욱 커지면서 환경오염이라는 주제에 걸맞지 않을 것 같아 기능에서 뺐다.
문제 정의 & 해결 방법
- 환경 오염의 주범은 에너지와 데이터의 남용이라 판단했습니다.
- 일반적인 사용자들은 귀찮아서 보지 않고 쌓여가는 메일이나 파일이 컴퓨터를 차지하는 것을 신경쓰지않고있고, 이렇게 불필요하게 쌓여가는 데이터들이 지구의 자원을 잡아먹어 환경을 오염시키고 있다고 판단했습니다. 저희는 이 부분에 집중하였습니다.
- 사용자에게 주기적으로 쌓여가는 메일함을 정리하라고 알려주거나 마구잡이로 띄워놓은 브라우저의 탭, 프로그램 등을 꺼서 자원을 아낄 것을 알려주는 데스크탑 비서 애플리케이션을 도출했습니다.
와이어프레임 작성과 생각 동기화
팀원들 간의 생각의 동기화를 위해 빠르게 와이어프레임을 작성했다. "내가 생각한 UIUX는 이런 모습이고 이 기능은 ~식으로 동작할 거야. 너희는 어떻게 생각했니?" 라고 되물으면서 서로 간의 생각을 일치시키는 과정을 거쳤고 부족한 점을 메꾸고 궁금했던 점을 이야기하면서 이해도를 높일 수 있었다.
기술 스택
프론트 개발자인 우리가 사용할 줄 아는게 Next.js 뿐인데 컴퓨팅 자원(CPU 사용량, 메모리 점유율, 배터리 충전량 등)을 읽기 위해서는 데스크탑 앱을 개발해야 했다. 그래서 크로스 플랫폼 개발 프레임워크인 electron.js를 Next.js에서 사용할 수 있도록 개발된 오픈 소스 프로젝트인 Nextron을 사용하기로 했다.
https://github.com/saltyshiomix/nextron
그리고 사용자의 메일함을 읽고 AI 필터링과 메일 본문 요약 및 키워드 추출을 처리하기 위한 Python 서버를 구현하기 위해 Flask를 사용하기로 했다.
개발 그리고 발표
개발하는데에 큰 이슈는 없었다. electronjs를 처음 쓰기는 했지만 커뮤니티도 큰데다가 지피티의 도움도 있어서 어려울 것은 없었다. UI는 그냥 늘 하던대로 컴포넌트 구현했다. 조금의 이슈는 Python 서버를 구현하는데에 있었는데.. 팀원 2명이 인공지능 공부만 하다보니 서버에 대한 지식이 말 그대로 제로여서... 의사소통이나 구현하는데에 조금 어려움이 있었다. 그래도 둘이 불평불만 없이 스스로 서칭하고 고민하면서 의욕을 보여서 나도 적극적으로 도와주었다.
2024.05.11 오전 8시 30분. 그렇게 대략 14시간 정도의 개발이 끝났다. 총 140명, 총 42팀이 참가해서 발표시간이 3분인데도 거의 3시간 가까이 발표가 진행되었다. 발표시간 3분 제한이 사실 엄청나게 적었다. 사람이 많은 건 알겠다만.. 뭐 약간의 불만사항이다. 우리는 제일 마지막 바로 앞 순번이었다. 인문대 출신의 @JakeFRCSE가 발표를 센스있게 잘 해줘서 심사위원들에게 좋은 평가를 받은 것 같다:)
최우수상 수상
뭐 어찌됐든 간에 우리는 최우수상을 수상했다. 사실 3등상 정도를 기대했다가 호명이 안되길래 가방을 싸고 있었는데, 갑자기 팀이름인 "AID"가 호명되었다. 그래서 사진 찍고 기분 좋게 돌아왔다!
동아리 이름을 걸고 온 만큼 약간의 부담이 있었는데, 당당하게 경희대학교에 부산대학교와 AID 이름을 박고 올 수 있어서 기쁘다. 후배들에게도 좋은 경험을 쌓게 해준 것 같아 만족스럽다. 갑작스럽게 모인 4명이었지만 각자 자신의 역할을 잘 수행해줘서 고맙다. 이번 기회에 배운 것을 나중에 좋은 밑거름이 되었으면 한다.
'프로젝트 > 대회' 카테고리의 다른 글
[대외활동] XRP Ledger Hackathon Seoul 2024 - Track 4 Winner (2) | 2024.09.03 |
---|---|
[대외활동] ABB 해커톤 - 우수상 후기 (3) | 2023.11.13 |
[대외활동] SW Innovation 창업 해커톤 - 참가 후기 (2) | 2023.11.09 |
[대외활동] Junction Asia 2023 - 참가 후기 (1) | 2023.08.23 |