제 1회 동래 메이커톤 후기

정현·2024년 8월 18일
post-thumbnail

대회 지원 전

공고를 갑자기 들고와서는 하자고 하는데, 심지어 해커톤도 아니 메이커톤이라 살짝 고민이 되었다. 하지만 잠시 고민해보니 '어차피 메이커톤이면 망해도 상관없는거 아니야?' 라는 생각으로 실력 향상도 나쁘지 않게 될 것 같고, 마침 나갈 대회도 없겠다 지원하게 되었다

아이디어 생각

사실 아이디어는 별 문제 없었다
이미 다른 대회에서 사용한 아이디어를 조금 바꾸어서 나갈 계획이었다
이전까지 웹 개발을 해커톤에서 해본적은 없기에 이번 기회에 연습 삼아 본래 앱인벤터로 제작되었던 프로젝트를 웹에서 구현해보기로 하였다

아이디어는 굉장히 단순했다
주제가 탄소 발자국 줄이기였기에 AI로 플라스틱 분류 마크를 분류해 점수를 부여해 해당 사용자에게 본인의 친환경 소비 점수를 부여하는 방식이었다
이 아이디어를 메이커톤화 시켜서 키오스크를 우리가 만들어서 키오스크에서 이 아이디어를 결합시킬 굉장히 단순한 아이디어였다.

대회 전

역할 분담

나 : 프론트, 디자인, 발표 (AI 모델 학습)
친구 : 프론트, DB
친구2 : 외형 제작, 계획서 작성, AI 모델 학습

착각

솔직히 나는 대회전에 대회 기간을 크게 고려하지 않았다
애초에 메이커톤(해커톤)이기도 했고 뭔일이라도 있겠어? 싶었는데
막상 신청하고 나서 시험기간과 어느정도 겹치는 걸 깨달았다
기말고사가 끝나고 1주일이라는 시간밖에 남지 않았었다

아무리 연습이라도 이건 웹 개발이 처음인 우리에겐 꽤 무리라고 생각해서 프로젝트를 앱인벤터로하냐 웹으로 하냐 토론을 펼쳤지만 결국 내 생각에는 '어차피 실력 상승을 위해 나가는 대회이니 긴박한 상황? 오히려 좋아'였다

결국 어차피 웹 개발하는 내 의견대로 되었고
나는 만약 대회전까지 웹을 70% 이상 완성시키지 못할 경우 학교 옥상에서 자유 낙하 운동을 체험해보는 행위를 하기로 약속하였다...

대회 준비

일단 이틀동안 피그마로 디자인을 시작했다
솔직히 나는 디자이너도 아니라 디자인은 크게 신경 쓰일 대상이 아니었다
마음에 들지는 않았지만 그래도 시간이 없으니 자유 낙하 운동을 하기 싫으니 뭐라도 완성시켰다

이후 나는 3일 동안 웹 개발을 시작하였고 매 자습시간과 매일 밤에 새벽 2시까지 구현한 결과 로그인, 로그아웃, 메인, 마이페이지, 랭킹 페이지를 만드는데 성공했다

물론 DB쪽은 내가 안 건들기에 이것만 완성시켜서 친구에게 넘겼다

그리고 나서 마지막 메이커톤 전날에 만나서 친구에게 맡긴 결과 EJS로 몽고 DB와 마이 페이지 연결까지 성공시키며 메이커톤 당일에 100% 완성을 목표로 마무리 했다

대회 1일차

시작 전

각자 7시 반에 만나서 택시를 타고 갔다
가장 먼저 도착한 우리는 의자에 앉아서 기다렸다
이후 정해진 시간이 되고 기본적인 안내를 듣고 메인 메이커톤 장소로 향했다

대회 초반

일단 살짝 대회를 잘못 온 것 같다는 기분이 들었다
장소부터 해커톤과 너무 달랐다 각종 메이킹 장비들과 심지어 책상은 완전히 메이킹에 초점이 되어있었다. 심지어 소프트쪽을 다루는 팀이 우리뿐이었으며 건드려봐야 아두이노 1~2팀정도 있었다. 게다가 다른건 다 이해하는데 의자는 왜 등받이가 없는걸 줬는지 의문이다. 그래도 한팀당 등받이 의자를 사용할 수 있는 컴퓨터 앞 의자가 있어서 들고와서 로테이션으로 사용했다 그냥 내가 다 사용했다

의외로 순조로운 출발

역대 우리가 나갔던 프로젝트 대회는 늘 엉망진창이었다
학원에서 강제로 나가게 시킨 것이 대부분이라 제대로 계획도 되어있지 않았고 보통 전날 만나서 겨우 아이디어 알게 된게 대부분이다

하지만 이번에는 웹 개발이 시작한지 4~5시간만에 거의 완성되었다
나쁘지 않은 시작이었다

변수

AI를 티처블로 쓰려 했던 내가 바보였다
티처블은 특정 물체가 존재하지 않을때 구분하기 어려웠고 우리가 만드려는 아이디어와는 전혀 다른 방향성이었다

심지어 이렇게 되면 본래 키오스크에 추가하려 했던 QR 로그인도 개발이 안 될 것 같고, 결국 키오스크는 구현하지 않기로 결정했다

결국 나는 나의 저능함을 인정하고 내가 키오스크 프론트 개발을 포기하고 AI에 투입되었다

그나마 나는 YOLO V5를 써본 전적이 있기에 그나마 다행이었지만 솔직히 지금 와서 모델 학습을 다하고 있자니 뭔가 아닌 것 같아서 1시간 하다가 학원 쌤에게 SOS 요청을 넣었다

결국 새벽 1시가 되어서야 선생님께 학습 모델을 받아내는데 성공했고 웹과 연동시키는걸 시도했다

또 다른 문제

하지만 YOLO를 JS 코드로 바꾸는데 어려움을 겪었고 결국 3시까지 아무런 의미 없는 행위만 반복하자 나는 키오스크에서 로그인 / 로그아웃 기능을 아예 빼버리고 그냥 시연에서는 파이썬 파일을 실행시키자는 판단을 내렸다

파이썬에는 몽고 DB와 바로 연동이 되기에 시작전에 미리 파이썬에 이용자 아이디를 입력해두고 DB로 전송 시킬 계획이었다

다행히 새벽 5시쯤 내 계획은 성공했고 말썽이던 EJS문제도 적당히 해결되었고 외형 제작도 마무리가 되어갔다

결국 외형이 다 끝나는 동안 나는 PPT 제작을 시작했고, 5시 30분쯤 끝났다
그리고 다같이 테스트를 시작했다. 90%는 된 것 같아서 행복한 기분으로 6시부터 8시까지 단체로 앉아서 잤다

프로젝트 최종

이후 자잘한 웹 문제 해결과 외형 완성, PPT 자료도 끝나서 발표 연습을 적당히 하다가 시간이 종료되었다

간단한 리허설을 진행후 점심을 먹고 다시 30분 자다가 일어나서 최종 발표 시간이 되었다

발표

발표가 굉장히 오랜만이었다 그래도 대본을 보고 할 수 있다는 것에 안심이 되었다 하지만 다른 팀들의 프로젝트를 보니 확실히 우리가 대회를 잘못 온 것을 다시 한번 깨달았다

그래도 다른 팀들이 구현을 거의 하지 못한 것 같아 그나마 다행이었다

하지만 발표 제한 시간은 질의응답 포함 5분이었다
솔직히 너무 촉박하다고 느꼈다 게다가 시연까지 해야한다니 시간이 너무 부족했다

그래도 초반에 살짝 말 실수 한것을 제외하면 나쁘지는 않게 발표했고 질문 역시
'여러번 찍어서 점수를 무한히 늘리는 이용자가 있으면 어떡하죠?'라는 질문에
'저희 서비스는 키오스크에 설치 되기에 실제로 바코드에 찍힌 상품, 즉 결제되는 상품에만 점수가 부여됩니다' 라고 잘 받아냈고, 시연 역시 잘 되었다

시상식

솔직히 우리가 너무 대회 취지에 안 맞는 소프트를 들고 온 것 같아 제발 참가상만 아니길 빌고 있었다
참가상 -> 장려상 -> 우수상 -> 최우수상 -> 대상 순으로 발표되는데
다행히도 참가상을 건너뛰고, 의외로 장려상까지 건너뛰었다!

그리고 우수상에서 우리팀 이름 '루트 노드'가 불렸다
정말 다행이었다 다행히도 심사위원이 웹 개발과 AI 개발에서 점수를 높게 준 것 같았다

그리고 상으로 상장, 상패, 상금 20만원을 받았다

대회 후기

솔직히 나는 이때까지 프로젝트 대회를 받아본적이 없었고 이번에도 아무리 메이커톤이라도 큰 기대는 없었지만 다행히 개발에서 '이번 해커톤은 다르다!' 라는 느낌을 받으며 진행되었고 잠깐의 위기가 있었지만 적당한 판단으로 잘 해결했고 역대 해커톤 중에 가장 만족스런 완성물과 실력 향상에도 도움이 된 것 같아 만족스런 해커톤(메이커톤)이었다.

아쉬운 점으로는 AI 개발에 너무 신경을 쓰지 않아서 많은 어려움을 겪어 더 개발 하지 못한 것이 아쉬웠고, 가장 아쉬운건 내가 발표만 조금 더 잘했으면 최우수상까지 노려볼만 했다는 것이다. 난 평소에 발표할때 대본을 보지 않고 PPT를 보며 자연스럽게 이어나가는 것을 좋아하기에 잘 보지 않았지만 이번에는 대본을 봐도 리스크가 없어보여서 대본을 보고 했지만 오히려 대본보고, 화면보고, 심사위원보고 시선이 정신없이 이동하다보니 오히려 말이 더 꼬였다. 차라리 대본을 더 집중적으로 보고 읽었다면 더 나았을지도 모르겠다.

아무튼 딱 '이번 대회에서 가장 잘하면 우수상정도 아닐까?' 생각하던 것이 현실이 되어 좋았고, 해커톤이 아닌 메이커톤도 경험해보아서 좋은 대회였던 것 같다.

profile
노력으로 재능을 이길 수 없다면, 노력으로 재능을 만드는 개발자 서정현입니다

0개의 댓글