Gemini 3 Seoul Hackathon ํ๊ธฐ
ํ๊ฐ ์ ์ธ๋น๋ฅ๋ฅ์ฌ์์์ 11์๊ฐ

๐ https://cerebralvalley.ai/e/gemini-3-seoul-hackathon?tab=guest-list
TL;DR
๋ง๋ ๊ฒ: Gemini 3๋ฅผ ํ์ฉํ ์์ธ ๋๋๋งํฌ ๋ฐฉํ์ถ ๊ฒ์ "Seoul Adventure"
ํต์ฌ ๊ธฐ์ : Gemini 3 Flash Preview๋ก ์๋๋ฆฌ์ค ์๋ ์์ฑ + ์ด๋ฏธ์ง ์ธ์ฆ
๊ฐ์ฅ ํฐ ๊ตํ: ํด์ปคํค์์๋ ์ต์ํ ์คํ + ๋ฐ๋ชจ ์ค์ฌ ๊ฐ๋ฐ์ด ์ ๋ต
ํ๋ก์ ํธ: Seoul Adventure
์์ด๋์ด
์์ธ ๋๋๋งํฌ์์ ๋ฐฉํ์ถ์ ํด๋ณธ๋ค๋ฉด ์ด๋จ๊น? ๋ผ๋ ์๊ฐ์ ์์์ผ๋ก ์์ธ์ ์๋ ์ฌ๋ฌ ๋๋๋งํฌ๋ค์ ๋ฐฉ๋ฌธํด์ ๋ฏธ์ ์ ์ํํ๋ ์๋น์ค๋ฅผ ๋ง๋ค์ด๋ดค๋ค. ์ฝ๊ฐ์ ์คํ ๋ฆฌํ ๋ง๊ณผ ์ธ์ฆ, ํด์ฆ ํ์์ ๊ฐ๋ฏธํด์ ๊ตฐ๋ฐ ๊ตฐ๋ฐ๋ฅผ ๋์๋ณด๊ณ ์ถ์ต์ ๋จ๊ธฐ๋ ์๋น์ค๋ค.
์ธ์ฆ ๋ฐฉ์์ ์ฌ์ง, ํด์ฆ, GPS ์์น ์ ๋ณด ์ธ๊ฐ์ง๋ก ๊ตฌ์ฑํ๋ค.
๊ธฐ์ ์คํ
| ์์ญ | ๊ธฐ์ |
|---|---|
| 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๋ฅผ ์ธ ๊ฐ์ง ํต์ฌ ๊ธฐ๋ฅ์ ํ์ฉํ๋ค:
์๋๋ฆฌ์ค ์๋ ์์ฑ: ๋๋๋งํฌ ์ด๋ฆ๋ง ์ ๋ ฅํ๋ฉด ์ญ์ฌ์ ์คํ ๋ฆฌ๋ผ์ธ, ํด์ฆ, GPS ์ขํ๊ฐ ํฌํจ๋ ํ์ถ ์๋๋ฆฌ์ค๊ฐ ์๋ ์์ฑ๋๋ค.
์ด๋ฏธ์ง ์ธ์ฆ: ์ฌ์ง ํ์คํธ ์๋ฃ ์ AI๊ฐ ์ฌ์ง์ ๋ถ์ํ์ฌ ์ ํํ ์ฅ์ ๋ฐฉ๋ฌธ ์ฌ๋ถ๋ฅผ ๊ฒ์ฆํ๋ค.
ํ์คํธ ๊ตฌ์ฑ: 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. ๋ถํ์ํ ๊ธฐ๋ฅ์ ์๊ฐ ๋ญ๋น
ํ์ ์ธ์ฆ๊ณผ ์ค์ ๋ฐฐํฌ์ ์๊ฐ์ ์ผ๋๋ฐ, ๋ฐ๋ชจ ์์์ด๋ ๋ผ์ด๋ธ ๋ฐ๋ชจ๋ง ๋ณด์ฌ์ฃผ๋ฉด ๋๋ ์ํฉ์ด์๋ค.
๊ตํ: ํด์ปคํค์์๋ "๋์ํ๋ ๋ฐ๋ชจ"๊ฐ "๋ฐฐํฌ๋ ๋ฐ์ชฝ์ง๋ฆฌ"๋ณด๋ค ๋ซ๋ค.
ํ๊ณ
์ข์๋ ์
3๋ ๋ง์ ํด์ปคํค: 7~8์๊ฐ ๋ชฐ์ ํด์ ๊ฐ๋ฐํ๋ ๊ฒฝํ ์์ฒด๊ฐ ๊ฐ์ก๋ค. ํ์์๋ ์ ๋ฌด์ ์ผ์์ ์ซ๊ธฐ๋ค ๋ณด๋ฉด ์ด๋ ๊ฒ ํ ๊ฐ์ง ์ผ์ ์ง์คํ๊ธฐ ์ด๋ ค์ด๋ฐ, ํด์ปคํค์ด๋ผ๋ ํ๊ฒฝ์ด ๊ฐ์ ๋ก ๋ชฐ์ ๋ชจ๋๋ฅผ ๋ง๋ค์ด์คฌ๋ค.
์ข์ ํ์๋ค๊ณผ ํจ๊ป: ์๋ก ์ญํ ๋ถ๋ด๋ ์ ๋๊ณ , ๋งํ๋ ๋ถ๋ถ ์์ผ๋ฉด ๋ฐ๋ก๋ฐ๋ก ๋ ผ์ํ ์ ์์ด์ ํผ์ ํ ๋๋ณด๋ค ํจ์ฌ ์ฌ๋ฐ์๋ค.
์ฌ๋ฐ๋ ์์ด๋์ด ๋ฐ๊ตด: "์์ธ ๋๋๋งํฌ์์ ๋ฐฉํ์ถ"์ด๋ผ๋ ์ปจ์ ์ด ์๊ฐ๋ณด๋ค ํ์ฅ์ฑ์ด ๋์๋ค. ๋ฐ๋ก ์ฌ์ด๋๋ก ๊ฐ๋ฐํ๊ณ ์ถ๋ค.
Pencil.dev ์ฌ์ฉ: ํด์ปคํค ๋ 10๋ถ ํ์ฉํด๋ดค๋๋ฐ ์๊ฐ๋ณด๋ค ํจ์ฌ ๊ฒฐ๊ณผ๋ฌผ์ด ์ข๊ฒ ๋์๋ค. ์ด์ ๋์์ด๋ ์์ด๋ ์ฌ์ด๋ํ๋ก์ ํธ ๋์์ธ ์ ๋๋ ๋๋ฑ ํ ์ ์์ ๊ฒ ๊ฐ๋ค. ๋ค๋ง ์ต์ด ์์ฑ ์ดํ์๋ ์ฑ๋ฅ์ด ๊ธ๊ฒฉํ๊ฒ ๋จ์ด์ง๋ ๋๋์ด์๋ค.
์ธ๋น๋ฅ๋ฅ์ฌ์์์ ์ฝ๋ฉ: ํ๊ฐ ์์ ๋ ์๋ ๊ฑด๋ฌผ์์ ์ฝ๋ฉํ๋ ๊ฒฝํ์ ์ฒ์์ด์๋ค. ์ฐฝ๋ฐ์ผ๋ก ๋ณด์ด๋ ํ๊ฐ๋ทฐ๊ฐ ์๊ฐ๋ณด๋ค ์ง์ค๋ ฅ์ ๋์์ด ๋๋ค. ์ฝ๊ฐ์ ํ๋ง๋๋ ๋๋๋ ์์๋ค.
์์ฌ์ ๋ ์
์์ด๋์ด ํ์์ 2์๊ฐ: ์ค์ 9์์ ๊ฐ์ ์์นจ๋ฐฅ ๋จน๊ณ ์์ด๋์ด ํ์๋ฅผ ์์ํ๋๋ฐ, 2์๊ฐ์ด๋ ๊ฑธ๋ ธ๋ค. ์ต์ํ ๋ฐฉํฅ์ฑ์ ๋ฏธ๋ฆฌ ์ ํ๊ณ ์์ด์ผ ํ๋ค.
ํ์ฌ ์ฌ์ ์กฐ์ฌ ๋ถ์กฑ: ๊ณต์ง ํ์ด์ง๋ฅผ ๊ผผ๊ผผํ ์ ๋ด์ ๊ตฌ๊ธ ํฌ๋ ๋ง์ ๋ชป ๋ฐ์๋ค.
์๋ก์ด ๊ธฐ์ ์คํ: Turborepo, MikroORM ๋ฑ ์ ํ๋ ์๊ฐ ๋ด์ ๊ฐ๋ฐํ๊ธฐ๋ ๋ฒ ์ฐฌ๋ฐ ์๋ก์ด ๊ธฐ์ ๊น์ง ํ์ตํ๋ ค๋ ์๊ฐ์ด ๋ฐฐ๋ก ๋ค์๋ค.
๋นํจ์จ์ ์ธ ์์ ํ๋ก์ธ์ค: ํ๋ก ํธ/๋ฐฑ์๋ ๋๋ ์ ์์ ํ๋๋ฐ, ์์ฆ AI ์ฝ๋ฉ ๋๊ตฌ๊ฐ ์๋ ์๋์ด ์์ผ๋ ๊ธฐ๋ฅ ๋จ์๋ก ๋์์ ํ๋ ๊ฒ ๋์์ ๊ฒ ๊ฐ๋ค.
๋คํธ์ํน ๋ถ์กฑ: ์ ์ ์์ด ๊ฐ๋ฐํ๋๋ผ ๋ค๋ฅธ ํ๋ค๊ณผ ๊ต๋ฅ๋ฅผ ๋ชป ํ๋ค. ํด์ปคํค์ ๋คํธ์ํน์ ์ฅ์ผ๋ก ๋ ํ์ฉํ ์ ์์์ ํ ๋ฐ.
๋ค์ ํด์ปคํค์ ์ํ ์ก์ ์์ดํ
| ํญ๋ชฉ | ๊ตฌ์ฒด์ ์ธ ์ค์ฒ ๋ฐฉ์ |
|---|---|
| ํ ํ๋ฆฟ ์ค๋น | Next.js + Fastify ๋ณด์ผ๋ฌํ๋ ์ดํธ๋ฅผ ๋ฏธ๋ฆฌ ๋ง๋ค์ด๋๊ธฐ. ์ธ์ฆ, DB ์ฐ๊ฒฐ, ๋ฐฐํฌ ์คํฌ๋ฆฝํธ ํฌํจ. |
| ์์ด๋์ด ์ฌ์ ํ์ | ํด์ปคํค 1์ฃผ์ผ ์ ์ ํ์๋ค๊ณผ ์์ด๋์ด 3๊ฐ ์ ๋ ํ๋ณด ์ ํ๊ธฐ |
| ๋ฐ๋ชจ ์ค์ฌ ๊ฐ๋ฐ | ๋ฐฐํฌ๋ ๋์ค์. ์์ฐ ๊ฐ๋ฅํ ํต์ฌ ํ๋ฉด 3๊ฐ์ ์ง์คํ๊ธฐ |
| ๊ธฐ๋ฅ ๋จ์ ๊ฐ๋ฐ | ํ๋ก ํธ/๋ฐฑ ๋ถ๋ฆฌ ๋์ ๊ธฐ๋ฅ ๋จ์๋ก ์์ . AI ์ฝ๋ฉ ๋๊ตฌ ์ ๊ทน ํ์ฉ |
| API ํด๋ฐฑ ์ค๋น | ์ธ๋ถ API ์ฌ์ฉ ์ rate limit ๋๋นํด์ ์บ์ฑ + ๋ฐ๋ชจ ๋ฐ์ดํฐ ์ค๋น |
๋ถ๋ก: ํ์ฌ ์ด์ ๋ฆฌ๋ทฐ
์์ฌ์ ๋ ์ด์
๋ํ 3~4์ผ ์ ์ ์ฅ์ ๊ณต์ง
Discord ์ง๋ฌธ์ ๋ํ ๋ต๋ณ์ด ๊ฑฐ์ ์๋จ
์ ์ฒญ์ด ์ ์ฐฉ์์ด ์๋๋ผ ํ์ฌ์ฅ ๋์ฐฉ์ด ์ ์ฐฉ์
์ด 427๋ช ์ด ์ง์ํ๋๋ฐ ๊ทธ ์ค 250๋ช ๋ง ๋ค์ด๊ฐ ์ ์๋ค๊ณ ํ์
์ ๋ ๋ฏธ๋ฆฌ ์์ธ๋ก ์ฌ๋ผ์ค๋ ์ง๋ฐฉ ๋ถ๋ค์ ์ด๋ป๊ฒ ํด์ผ ํ๋๊ณ ๋นํฉ
์ ๋ ฅ ๋ถ์กฑ: ๋ฌธ์ํ์ ๋ ์์๋ก ๋ฒฝ์ ๋ถ์ด์ ์ถฉ์ ํ๋ผ๋ ๋ง ๋ฐ์...
์ข์๋ ์ (๊ฐ์ฑ๋น ์ต๊ณ )
๋ฌด๋ฃ์ธ๋ฐ ํ๋ฆฌํฐ ์ข์ ์์ฌ: ํ์ฌ ์ฅ์๊ฐ ์ฐํ์ฅ์ผ๋ก ์ฐ๋ ๊ณณ์ด๋ผ ์์ฌ๊ฐ ๋ง์์๋ค. ์ผ์์ธ๋ผ + ์ปคํผ, ์ฃผ์ค, ๊ณผ์, ์๋์ง๋ฐ๊น์ง ์ ๊ณตํด์คฌ๋ค.
๋คํธ์ํน ๋ถ์๊ธฐ๊ฐ ์ข์๋ค: ๊ฐ๋ฐํ๋๋ผ ๋ฐ๋นด์ง๋ง ๋คํธ์ํนํ๋ฉด์ ๋ ์์ฐจ๊ฒ ๋ณด๋ด์ ๋ถ๋ค์ด ๋ง์๋ค.
๋ง์น๋ฉฐ
3๋ ๋ง์ ํด์ปคํค์ด์๋ค. ์ค๋๋ง์ ์ ๋ฌด ์ธ ๊ฐ๋ฐ์ ํน ๋น ์ ธ์ ํ ์ ์์ด์ ์ข์๋ค. ์ด์์ ์ฝ๊ฐ ์์ฌ์ด ๋ถ๋ถ๋ค์ด ์์์ง๋ง, ๋ฌด๋ฃ์์ ๋ถ๊ตฌํ๊ณ ๋ง์๋ ๋ฐฅ์ ์ธ ๋ผ๋ ์ฑ๊ฒจ์คฌ๋ค๋ ๊ฒ ๊ฐ๋์ ์ด์๋ค. ๊ฒฐ๋ก ์ ์ผ๋ก๋ ํ๊ฐ ์์์ ์ฝ๋ฉํ๊ณ , ์ข์ ํ์๋ค๊ณผ ์ฌ๋ฐ๋ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๋ฉด์ ์ฆ๊ฒ๊ฒ ๋ณด๋ธ ์๊ฐ์ด์๋ค.
๋ค์ ํด์ปคํค์์๋ ์ด๋ฒ์ ๋ฐฐ์ด ๊ตํ๋ค์ ์ ์ฉํด์ ๋ ์์ฑ๋ ๋์ ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋ค์ด๋ณด๊ณ ์ถ๋ค. ๊ทธ๋ฆฌ๊ณ Seoul Adventure๋ ์ฌ์ด๋๋ก ๊ณ์ ๊ฐ๋ฐํด๋ด๋ ์ข์ ๊ฒ ๊ฐ๋ค.


