# Gemini 3 Seoul Hackathon 후기

![](https://cdn.hashnode.com/uploads/covers/65556e531147f173adab7767/ac59540d-2a7d-4838-9788-64b6a8613af5.jpg align="center")

> 🔗 [https://cerebralvalley.ai/e/gemini-3-seoul-hackathon?tab=guest-list](https://cerebralvalley.ai/e/gemini-3-seoul-hackathon?tab=guest-list)

## TL;DR

*   **만든 것**: Gemini 3를 활용한 서울 랜드마크 방탈출 게임 "Seoul Adventure"
    
*   **핵심 기술**: Gemini 3 Flash Preview로 시나리오 자동 생성 + 이미지 인증
    
*   **가장 큰 교훈**: 해커톤에서는 익숙한 스택 + 데모 중심 개발이 정답
    

* * *

## 프로젝트: Seoul Adventure

### 아이디어

서울 랜드마크에서 방탈출을 해본다면 어떨까? 라는 생각을 시작으로 서울에 있는 여러 랜드마크들에 방문해서 미션을 수행하는 서비스를 만들어봤다. 약간의 스토리텔링과 인증, 퀴즈 형식을 가미해서 군데 군데를 돌아보고 추억을 남기는 서비스다.

인증 방식은 사진, 퀴즈, GPS 위치 정보 세가지로 구성했다.

![](https://cdn.hashnode.com/uploads/covers/65556e531147f173adab7767/e021c07b-5b3e-40dc-bd25-1d6f29c5b04e.png align="center")

> 🔗 [https://github.com/Aqudi/seoul-adventure](https://github.com/Aqudi/seoul-adventure)

### 기술 스택

| 영역 | 기술 |
| --- | --- |
| **Frontend** | Next.js 16, React 19, Tailwind CSS 4, Zustand, Google Maps |
| **Backend** | Fastify 5, MikroORM, PostgreSQL |
| **AI** | Google Gemini 3 Flash Preview |
| **Infra** | Turborepo, pnpm, Docker, GCP Compute Engine, Cloudflare Tunnel |

### Gemini 3 활용

Gemini 3를 세 가지 핵심 기능에 활용했다:

1.  **시나리오 자동 생성**: 랜드마크 이름만 입력하면 역사적 스토리라인, 퀴즈, GPS 좌표가 포함된 탈출 시나리오가 자동 생성된다.
    
2.  **이미지 인증**: 사진 퀘스트 완료 시 AI가 사진을 분석하여 정확한 장소 방문 여부를 검증한다.
    
3.  **퀘스트 구성**: GPS 좌표 기반 위치 인증, 역사 퀴즈, 사진 인증 등 다양한 미션 타입을 지원한다.
    

### 팀 구성

사이프에서 만난 형, 누나와 3인 팀(백엔드 2, 프론트 1)으로 참가했다.

* * *

## 개발 타임라인

| 시간 | 활동 | 비고 |
| --- | --- | --- |
| 09:00 | 도착, 아침 식사 | 세빛둥둥섬 첫 방문 |
| 09:30-11:30 | 아이디어 회의 | ⚠️ 2시간 소요 (예상보다 오래 걸림) |
| 11:30-12:00 | 기술 스택 세팅 | Turborepo, MikroORM 설정에서 헤맴 |
| 12:00-13:00 | 점심 식사 |  |
| 13:00-18:00 | 핵심 기능 개발 | 5시간 집중 개발 |
| 18:00-19:00 | 저녁 식사 |  |
| 19:00-19:30 | 시연 준비 | ⚠️ Gemini API `too many requests` 에러 발생 |

* * *

## 삽질 기록

### 1\. Turborepo + MikroORM 설정 삽질 (30분+)

안 써봤던 Turborepo(monorepo)와 MikroORM을 선택했는데, 초반에 설정 때문에 30분 이상을 소요했다. 알고 보니 root에 있는 `tsconfig` 문제였는데, MikroORM 설정 문제인 줄 알고 한참 헤맸다.

**교훈**: 해커톤에서는 익숙한 스택을 쓰는 게 정답이다. 새로운 기술을 배우고 싶으면 해커톤 전에 미리 연습하자.

### 2\. Gemini API Rate Limit

시연 직전에 `too many requests` 에러가 발생해서 라이브 데모가 순탄치 않았다.

**원인**: 크레딧을 충전했는데도 무료 플랜의 rate limit이 적용되고 있었다. 플랜을 올려봐도 해결이 안 돼서 결국 데모 중에 에러가 났다.

**교훈**: API 사용시에는 결제 플랜 꼭 확인하고 사용하자.

### 3\. 불필요한 기능에 시간 낭비

회원 인증과 실제 배포에 시간을 썼는데, 데모 영상이나 라이브 데모만 보여주면 되는 상황이었다.

**교훈**: 해커톤에서는 "동작하는 데모"가 "배포된 반쪽짜리"보다 낫다.

* * *

## 회고

### 좋았던 점

1.  **3년 만의 해커톤**: 7~8시간 몰입해서 개발하는 경험 자체가 값졌다. 평소에는 업무와 일상에 쫓기다 보면 이렇게 한 가지 일에 집중하기 어려운데, 해커톤이라는 환경이 강제로 몰입 모드를 만들어줬다.
    
2.  **좋은 팀원들과 함께**: 서로 역할 분담도 잘 되고, 막히는 부분 있으면 바로바로 논의할 수 있어서 혼자 할 때보다 훨씬 재밌었다.
    
3.  **재밌는 아이디어 발굴**: "서울 랜드마크에서 방탈출"이라는 컨셉이 생각보다 확장성이 높았다. 따로 사이드로 개발하고 싶다.
    
4.  [**Pencil.dev**](http://Pencil.dev) **사용**: 해커톤 때 10분 활용해봤는데 생각보다 훨씬 결과물이 좋게 나왔다. 이제 디자이너 없이도 사이드프로젝트 디자인 정도는 뚝딱 할 수 있을 것 같다. 다만 최초 생성 이후에는 성능이 급격하게 떨어지는 느낌이었다.
    
    ![Pencil.dev로 만든 초안](https://cdn.hashnode.com/uploads/covers/65556e531147f173adab7767/b99f8ca9-a6cb-4d3c-86d3-684687497b02.png align="center")
    
5.  **세빛둥둥섬에서의 코딩**: 한강 위에 떠 있는 건물에서 코딩하는 경험은 처음이었다. 창밖으로 보이는 한강뷰가 생각보다 집중력에 도움이 됐다. 약간의 힐링되는 느낌도 있었다.
    

### 아쉬웠던 점

1.  **아이디어 회의에 2시간**: 오전 9시에 가서 아침밥 먹고 아이디어 회의를 시작했는데, 2시간이나 걸렸다. 최소한 방향성은 미리 정하고 왔어야 했다.
    
2.  **행사 사전 조사 부족**: 공지 페이지를 꼼꼼히 안 봐서 구글 크레딧을 못 받았다.
    
3.  **새로운 기술 스택**: Turborepo, MikroORM 등 제한된 시간 내에 개발하기도 벅찬데 새로운 기술까지 학습하려니 시간이 배로 들었다.
    
4.  **비효율적인 작업 프로세스**: 프론트/백엔드 나눠서 작업했는데, 요즘 AI 코딩 도구가 워낙 잘되어 있으니 기능 단위로 동시에 하는 게 나았을 것 같다.
    
5.  **네트워킹 부족**: 정신없이 개발하느라 다른 팀들과 교류를 못 했다. 해커톤을 네트워킹의 장으로 더 활용할 수 있었을 텐데.
    

* * *

## 다음 해커톤을 위한 액션 아이템

| 항목 | 구체적인 실천 방안 |
| --- | --- |
| **템플릿 준비** | Next.js + Fastify 보일러플레이트를 미리 만들어두기. 인증, DB 연결, 배포 스크립트 포함. |
| **아이디어 사전 확정** | 해커톤 1주일 전에 팀원들과 아이디어 3개 정도 후보 정하기 |
| **데모 중심 개발** | 배포는 나중에. 시연 가능한 핵심 화면 3개에 집중하기 |
| **기능 단위 개발** | 프론트/백 분리 대신 기능 단위로 작업. AI 코딩 도구 적극 활용 |
| **API 폴백 준비** | 외부 API 사용 시 rate limit 대비해서 캐싱 + 데모 데이터 준비 |

* * *

## 부록: 행사 운영 리뷰

### 아쉬웠던 운영

1.  **대회 3~4일 전에 장소 공지**
    
2.  **Discord 질문에 대한 답변이 거의 안됨**
    
3.  **신청이 선착순이 아니라 행사장 도착이 선착순**
    
    *   총 427명이 지원했는데 그 중 250명만 들어갈 수 있다고 했음
        
    *   전 날 미리 서울로 올라오는 지방 분들은 어떻게 해야 하냐고 당황
        
4.  **전력 부족**: 문의했을 때 임시로 벽에 붙어서 충전하라는 말 밖에...
    

### 좋았던 점 (가성비 최고)

1.  **무료인데 퀄리티 좋은 식사**: 행사 장소가 연회장으로 쓰던 곳이라 식사가 맛있었다. 삼시세끼 + 커피, 주스, 과자, 에너지바까지 제공해줬다.
    
    ![](https://cdn.hashnode.com/uploads/covers/65556e531147f173adab7767/4a9bf9a9-7c3b-47bb-b5fc-151c23e0d487.png align="center")
    
2.  **네트워킹 분위기가 좋았다**: 개발하느라 바빴지만 네트워킹하면서 더 알차게 보내신 분들이 많았다.
    

* * *

## 마치며

3년 만의 해커톤이었다. 오랜만에 업무 외 개발에 푹 빠져서 할 수 있어서 좋았다. 운영은 약간 아쉬운 부분들이 있었지만, 무료임에 불구하고 맛있는 밥을 세 끼나 챙겨줬다는 게 감동적이었다. 결론적으로는 한강 위에서 코딩하고, 좋은 팀원들과 재밌는 프로젝트를 만들면서 즐겁게 보낸 시간이었다.

다음 해커톤에서는 이번에 배운 교훈들을 적용해서 더 완성도 높은 결과물을 만들어보고 싶다. 그리고 Seoul Adventure는 사이드로 계속 개발해봐도 좋을 것 같다.

![](https://cdn.hashnode.com/uploads/covers/65556e531147f173adab7767/3c72609b-74e1-419f-a630-0c0986ebece2.png align="center")
