2025 khuthon에 참가하여 최우수상을 수상한 '팀이름' 팀입니다.
다음 khuthon에 참가할 분들께 도움을 드리고자 참여 후기를 작성합니다.
Khuthon이란
khuthon은 경희대학교의 소프트웨어 해커톤으로, 무박 2일 간 주어진 주제에 맞는 서비스를 개발하는 대회입니다.
자세한 정보는 다음의 홈페이지에서 확인할 수 있습니다. (https://thon.khlug.org/)
이번 khuthon은 경희대학교뿐만이 아니라 단국대학교, 아주대학교, 경기대학교의 소프트웨어 중심사업단이 공동으로 주관하여 이루어졌습니다.
주제 선정
올해는 대회 전 날 "농업의 기술화"라는 주제가 공개되었습니다.
주제가 공개된 직후에는, 팀원들 중에서 농업에 대한 지식이 해박한 사람이 없어 당황스러웠습니다.
그렇기 때문에 저희는 주제에 대한 지식을 키우는 것을 최우선으로 하여 가족, 친척, 스마트팜과학과 친구 등 농업과 가까운 분들께 농업 관련 이슈들을 물었습니다.
농업의 기술화라는 말을 들은 분들은 '스마트팜'을 떠올렸고, 저희도 스마트팜과 관련된 주제를 선정하려 하였습니다.
하지만 자료조사를 할수록 모든 팀이 스마트팜에 대해 프로젝트를 수행할 것 같다는 생각과, 여전히 농업에 종사하는 연령대는 노인이 대다수라는 사실이 떠올랐습니다.
그로부터 저희는 스마트팜에만, 혹은 기존의 농업 방식에만 국한되지 않도록 여러 주제를 브레인스토밍하기로 결정하였습니다.
저희는 기사, ChatGPT, 농업과 관련된 여러 웹사이트를 기반으로 떠올린 주제를 notion에 정리하여 공유했습니다.
그런 다음, 저희 나름의 예상 심사 기준을 정하여 주제를 하나씩 소거해나갔습니다.


이로부터 저희는 스마트팜, 기존의 농사, 도시 농업 등 농업의 형태에 구애받지 않고 어디서든 필요한 '거름'을 활용한 플랫폼을 만들기로 결정했습니다.
가정에서 발생하는 음식물 쓰레기를 거름으로 발효시켜 농가와 거래할 수 있도록 하는 서비스를 기획했고,
소비자 간의 거래 신뢰성을 높이기 위해 비료의 등급을 매기거나, 저희가 검수를 하는 등의 기능을 추가했습니다.
이후에는 실제로 거름의 공급이 불안정하다는 통계자료와, 인터뷰 기사 등을 찾아보며 저희 서비스의 필요성을 공고히 해나갔습니다.
음식물을 발효하여 거름으로 만드는 과정을 찾아보고, 비료 거래가 법에 위반되지는 않는지 자료 조사를 해 가며 실효성까지 증명하였습니다.
거기에 추가로, 농업의 기술화라는 주제에 대해서 주제 적합성, 기술성을 높이기 위해 저희는 최신 기술인 AI를 접목하여 노력했습니다.
비료의 등급을 매기고, 검수하는 과정에서 ai 모델을 사용해서 이를 자동화하였습니다.
주제가 정해지고 난 뒤 저희는 담당 역할을 분배하며 각자 할 일을 나누었습니다.
저는 ai를 담당하려고 하였는데, 시연을 해야 하는 해커톤의 특성 상 디자인에도 많은 노력을 쏟아야 할 것 같다는 판단 하에 디자인까지 겸하게 되었습니다.

대회 시작


대회가 시작되고, 저희는 대회 관련 유의사항을 안내 받은 뒤 개발을 착수하였습니다.
저번 Khuthon과 달라진 점은 어떤 게 있는지, 심사 기준은 무엇인지를 중점적으로 확인한 후 주제를 재검토하며 기반을 다져갔습니다.
대회 이전 사전 개발은 불가하니 이 점 유의하시길 바랍니다. !!



대회는 저녁부터 시작하여 다음 날 점심까지 이루어지기 때문에, 정말 끊임없이... 저녁, 간식, 야식, 조식, 간식이 제공되었습니다.
khuthon 기획단 분들이 대회 참가자들의 복지에 신경써 주셨다는 사실이 정말 많이 느껴질 정도였습니다.
사진에 나온 것 이외에도 간식 바, 던킨도너츠 등이 끊임없이 제공되니 식사에 대한 걱정은 하지 않으셔도 될 것 같습니다.
개발 과정
저희는 figma를 사용하여 디자인을 진행하였고, 트렌디한 웹사이트 레퍼런스를 많이 참고하여 웹을 디자인하였습니다.


디자인이 얼른 이루어져야 프론트엔드 담당이 작업을 시작할 수 있기 때문에, 속도를 붙여 작업하였습니다.
그런데 아뿔싸... 마우스를 가져 오는 것을 깜빡해서 속도가 잘 나지 않았습니다. (ㅠㅠ)
어쩔 수 없이 터치패드로 모든 작업을 수행할 수밖에 없었는데
사용자의 신뢰도를 나타내는 싹 신뢰도를 디자인할 때, 손가락으로 벼를 하나하나 그리다 보니
정말 정신이 나갈 것 같아서 동아리에 마우스 지원 요청을 했습니다...


정말 다행히 후배님이 마우스를 빌려 주신다고 했고 바로 이어서 디자인에 들어갔습니다.
(그런데 USB로 연결하는 마우스였고, 나는 맥북 사용자라 USB포트가 없었음. 어댑터로 없어서 그냥 손가락으로 마감..)
해커톤 필수품: 편한 신발, 편한 옷, 마우스, 양치도구, 모자
이 글 보시는 분들은 꼭 필수품 다 준비하시고 저 같은 불상사가 없도록 하세요........
디자인이 완료된 후에는 곧바로 이어서 ai 모델을 개발하였습니다.
비료 등급 책정과 관련된 dataset을 구해 이를 전처리하고,pre-trained된 transformer 모델을 활용해 데이터셋을 학습시켰습니다.
학습이 완료된 모델은 api를 weight와 함께 fast api를 사용하여 백엔드에게 넘겨 주었습니다.

ai 모델을 완성한 후에는 프론트를 도왔습니다.
프론트는 디테일을 많이 손봐야 하기 때문에, 제한된 시간 내에 빠르게 수행하기가 어려워 함께 진행하는 것이 낫겠다고 판단하였습니다.
혹시나 이런 상황을 대비하여 대회 시작 전 프론트를 빠르게 벼락치기하였는데, 좋은 선택이었다고 생각합니다.
(대신 아예 전체 코드를 짜기에는 무리가 있어 각 요소의 배치를 다듬거나 반복 작업을 수행하는 부분을 도맡았습니다.)

그런데, 중간에 백엔드 담당 팀원 분께 ai 모델의 예측이 엉망이라는 레포트를 받았습니다...

그래서 얼른 데이터셋을 재검토하고, layer의 개수를 늘려 모델을 재학습시키며 기존 코드를 수정했습니다 ㅠㅠ
대회 막바지에는 시간에 쫓기듯이 개발을 해서 정말 정신 없이 개발을 끝마쳤습니다..
발표 준비
아무리 완성도 있게 개발을 진행했어도, 결국에는 보여지는 것에 의해 심사를 받기 때문에 저희는 발표 자료의 퀄리티에도 신경을 많이 썼습니다.
(우리 서비스의 아이디어, 디자인, 완성도가 좋다고 생각했기 때문에 발표 퀄리티가 낮아 좋은 점수를 못 받으면 정말 분할 것 같았음...)
먼저 저희는 기억에 남는 발표를 진행하기 위해, "잔반을 거름으로!" 라는 캐치프레이즈를 선정하였고, 발표 시작과 끝에 해당 문구를 외치며 발표를 마무리하기로 했습니다.


또, 아무리 조사한 자료가 많더라도 너무 많은 정보를 제공하면 청중들이 흥미를 잃을 것이라 판단하여 최대한 핵심적인 자료들만 언급하려 노력했습니다.
피피티를 기반으로 발표할 때에는 우리 서비스의 필요성과, 아이디어의 유효성, 제안 방법이 효과적인 이유를 중점적으로 설명하였고
시연이 필수적으로 이루어져야 하기 때문에 중복 내용은 최대한 배제하고 시연을 진행하며 저희 서비스의 기능을 언급하였습니다.


발표 자료 제출 마감 1분 전까지도 시간에 쫓겨 "진짜 시간 내에 다 만들 수 있어?"라는 팀원의 우려를 들었던 기억도 납니다...ㅎㅎ
수상 과정
다른 팀의 발표를 듣고 나니, 참신한 아이디어도 많고 완성도가 높은 작품도 많아 "우리의 한계는 우수상이 아닐까?"라는 생각을 하고 있었습니다.
그런데 우수상을 호명할 때에도 저희의 팀 이름인 '팀이름'이 불리지 않아 기대를 접었습니다.
그렇게 자포자기를 하고 있던 도중..."최우수상! 팀 이름!"이라는 결과를 받게 되었습니다.
팀원들과의 원활한 소통 덕분에 모두가 납득할 수 있는 주제를 선정할 수 있었고, 제각각 역할을 모두 잘 해 준 덕분에 원하는 결과물을 낼 수 있었던 것 같다는 말과
이제 집 가서 발 뻗고 자자는 말로 수상 소감을 마무리하였습니다. ㅎ



느낀 점
저희가 수상을 할 수 있었던 가장 큰 이유는 선정한 주제에 대해 많은 고찰을 한 덕분이라고 생각합니다.
실제로 주제를 선정할 때 많은 시간을 쏟기도 했고, 어떤 한 기능을 설계할 때마다 이 기능이 필요한 이유를 꼭 생각하였습니다.
디자인적 사고에서 배웠던 것처럼, 페르소나를 선정(농민, 일반 사용자 등)하여 서비스를 계속 시뮬레이션 해나갔습니다.
또, 임의의 시나리오를 만들어 저희의 아이디어를 거시적으로, 미시적으로 살펴 보면서 문제점이라고 삼을만한 부분을 계속해서 찾아나갔고
활발히 소통하여 아이디어의 설득력을 강화해 나갈 수 있었습니다.
팀원들이 각자의 역할을 다 한 부분도 공이 컸다고 생각합니다.
백엔드를 담당해 주신 팀원 분이 api, db 등을 빠르고 깔끔하게 정리해 주셔서 디자인 할 때에도 프론트 짤 때에도 많은 도움이 됐고
프론트를 담당해 주신 팀원 분은 디자인, 백엔드와 계속 소통해 나가면서 각자의 요구사항을 최대한으로 반영해 주셨습니다.
(각자 실력이 뛰어나서 개발은 말 할 부분도 없음)
해커톤이라는 대회의 특성상 주요 기능들을 핵심적으로 정리하고, 부가 기능들은 시간이 남으면 구현하도록 정리한 부분에서도 갈피를 잘 잡을 수 있었습니다.
마지막으로, 발표에 많은 신경을 쓴 부분!!!
결국엔 보여지는 것에서 평가를 당하므로, 발표를 절대 허투루 준비하지 말자는 서로 간의 규율이 있었기 때문에 심사위원 분들의 기억에 남을 수 있었던 것 같습니다.
해커톤 덕분에 처음으로 api를 빌드해 보았고, 제 분야가 아닌 디자인도 프론트도 경험해 보면서 자신감을 얻을 수 있었습니다.
생소한 주제에 대해 탐구해 보면서 아이디어의 기획에도 재미를 느꼈고, 앞으로 어떤 주제든 두렵지 않다는 믿음이 생겼습니다.
비록 중간에 시행착오도 많았지만, 결국엔 서비스를 완성할 수 있었던 보람찬 경험이었습니다.
이 글을 읽는 분들이 꼭 수상이 목적이 아니더라도 khuthon에 참가하여 짧은 시간 내에 결과물을 내며 개발에 재미를 붙여보는 경험을 하셨으면 좋겠습니다.
감사합니다!