๐Ÿ”ฅAntigravity๋ฅผ ์‚ฌ์šฉํ•ด Awwwards ์Šคํƒ€์ผ ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ๋งŒ๋“ค์—ˆ์–ด์š”๐ŸŒ€

๋ฐœํ–‰: (2026๋…„ 2์›” 1์ผ ์˜คํ›„ 07:53 GMT+9)
8 min read
์›๋ฌธ: Dev.to

Source: Dev.to

์œ„์— ์ œ๊ณต๋œ ๋‚ด์šฉ๋งŒ์œผ๋กœ๋Š” ๋ฒˆ์—ญํ•  ํ…์ŠคํŠธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋ฒˆ์—ญ์„ ์›ํ•˜๋Š” ๋ณธ๋ฌธ์„ ํ•จ๊ป˜ ์ œ๊ณตํ•ด ์ฃผ์‹œ๋ฉด ํ•œ๊ตญ์–ด๋กœ ๋ฒˆ์—ญํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

Introduction

์ด๊ฒƒ์€ Google AI๊ฐ€ ์ œ์‹œํ•œ New Year, New You Portfolio Challenge์— ๋Œ€ํ•œ ์ œ์ถœ๋ฌผ์ž…๋‹ˆ๋‹ค.

์ €๋Š” Kiran Naragund์ด๋ฉฐ, ํ’€์Šคํƒ ๊ฐœ๋ฐœ์ž์ด์ž ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ์ž์ด๋ฉฐ, ์›น์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ์ง„์‹ฌ์œผ๋กœ ์ฆ๊ธฐ๋Š” ์‚ฌ๋žŒ์ž…๋‹ˆ๋‹ค. ์ด ํฌํŠธํด๋ฆฌ์˜ค๋Š” ์ œ ์—ฌ์ •์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹คโ€”ํ•™๋ ฅ, ์ง์—… ๊ฒฝํ—˜, ์˜คํ”ˆ์†Œ์Šค ์ž‘์—…, ํ”„๋กœ์ ํŠธ, ๊ทธ๋ฆฌ๊ณ  ๊ฐœ๋ฐœ์ž๋กœ์„œ ๋ฐฐ์šฐ๊ณ  ์„ฑ์žฅํ•˜๋Š” ๊ณผ์ •์—์„œ ์ˆ˜ํ–‰ํ•œ ๋‹ค์–‘ํ•œ ์‹คํ—˜๋“ค.

๋ฐฐํฌ

The site is deployed on Google Cloud Run.

โš ๏ธ Note: ์ตœ์ƒ์˜ ๊ฒฝํ—˜์„ ์œ„ํ•ด ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ๋ฐ์Šคํฌํ†ฑ ๋˜๋Š” ๋…ธํŠธ๋ถ์—์„œ ํ™•์ธํ•˜์„ธ์š”. ์ผ๋ถ€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ฐ ์ธํ„ฐ๋ž™์…˜์€ ํฐ ํ™”๋ฉด์— ๋งž๊ฒŒ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋„๊ตฌ ๋ฐ ๊ธฐ์ˆ 

  • React.js with Vite โ€“ ๋น ๋ฅธ ๊ฐœ๋ฐœ ๋ฐ ์„ฑ๋Šฅ
  • Tailwind CSS โ€“ ์Šคํƒ€์ผ๋ง ๋ฐ ํ…Œ๋งˆ๋ง
  • GSAP์™€ Framer Motion โ€“ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ฐ ํŽ˜์ด์ง€ ์ „ํ™˜
  • Lenis โ€“ ๋ถ€๋“œ๋Ÿฌ์šด ์Šคํฌ๋กค๋ง
  • Chart.js โ€“ ์˜คํ”ˆโ€‘์†Œ์Šค ํ™œ๋™ ์‹œ๊ฐํ™”
  • ๋ช‡ ๊ฐ€์ง€ shadcn/ui ์ปดํฌ๋„ŒํŠธ

๋””์ž์ธ ํ”„๋กœ์„ธ์Šค

์™„๋ฒฝํ•œ ๋””์ž์ธ๋ณด๋‹ค ์‹คํ—˜์„ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์ดํŠธ๋Š” ์„น์…˜๋ณ„๋กœ ๊ตฌ์ถ•๋˜์—ˆ์œผ๋ฉฐ, ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ํ…Œ์ŠคํŠธํ•˜๊ณ , ๋ ˆ์ด์•„์›ƒ์„ ๊นจ๋œจ๋ฆฌ๊ณ , ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ , ๋‹ค์‹œ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์ฐจ๋ก€์˜ ์žฌ๋””์ž์ธ์„ ๊ฑฐ์ณ ํ˜„์žฌ ์ƒํƒœ์— ์ด๋ฅด๋ €์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ์ฝ˜ํ…์ธ (๊ฒฝํ—˜, ๊ต์œก, ์ธ์ฆ, ๊ธฐ์ˆ , ์˜คํ”ˆโ€‘์†Œ์Šค ๋ฐ์ดํ„ฐ)๋Š” ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์„ ํ†ตํ•ด ๊ด€๋ฆฌ๋˜์–ด ์‚ฌ์ดํŠธ๋ฅผ ์‰ฝ๊ฒŒ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ…Œ๋งˆ

๋ผ์ดํŠธ์™€ ๋‹คํฌ ๋ชจ๋“œ๋งŒ ์ œ๊ณตํ•˜๋Š” ๋Œ€์‹ , 10๊ฐ€์ง€ ๋‹ค๋ฅธ ํ…Œ๋งˆ๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค:

  • Light
  • Dark
  • Purple
  • Ocean
  • Forest
  • Sunset
  • Rose
  • Midnight
  • Coffee
  • Mint

๊ฐ ํ…Œ๋งˆ๋Š” ์ƒ‰์ƒ, SVG, UI ์š”์†Œ๋ฅผ ์ผ๊ด€๋˜๊ฒŒ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ์ œ๊ฐ€ ๊ฐœ์ธ์ ์œผ๋กœ ๊ฐ€์žฅ ์ข‹์•„ํ•˜๋Š” ํ…Œ๋งˆ๋Š” White์™€ Rose์ž…๋‹ˆ๋‹ค.

๋‹ค์–‘ํ•œ ํ…Œ๋งˆ ๋•Œ๋ฌธ์— ์ •์ ์ธ ์ด๋ฏธ์ง€๋Š” ์–ด์šธ๋ฆฌ์ง€ ์•Š์•„, ํ™œ์„ฑํ™”๋œ ํ…Œ๋งˆ์— ๋”ฐ๋ผ ๋™์ ์œผ๋กœ ์ ์šฉ๋˜๋Š” ๋งž์ถคํ˜• SVG๋ฅผ ๋งŒ๋“ค์–ด ์‹œ๊ฐ์  ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค.

Animations & Interactions

  • ์ผ๋ถ€ ์• ๋‹ˆ๋ฉ”์ด์…˜์€ ํฐ ํ™”๋ฉด์—์„œ๋Š” ๋†€๋ผ์šธ ์ •๋„๋กœ ๋ฉ‹์กŒ์ง€๋งŒ ์ž‘์€ ํ™”๋ฉด์—์„œ๋Š” ์••๋„์ ์œผ๋กœ ๋А๊ปด์กŒ์Šต๋‹ˆ๋‹ค(์˜ˆ: โ€œWhat I Doโ€ ์„น์…˜์˜ SVG ๋ชจ์…˜ ๊ฒฝ๋กœ). ์ €๋Š” ์ž‘์€ ๋ทฐํฌํŠธ์—์„œ ์š”์†Œ๋ฅผ ์„ ํƒ์ ์œผ๋กœ ์ˆจ๊ฒจ ๊ฒฝํ—˜์„ ๊น”๋”ํ•˜๊ฒŒ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  • ์ „ํ†ต์ ์ธ ๋กœ๋” ๋Œ€์‹  ์• ๋‹ˆ๋ฉ”์ด์…˜ ํŽ˜์ด์ง€ ์ „ํ™˜์„ ์ถ”๊ฐ€ํ•˜์—ฌ ํƒ์ƒ‰์— ์žฅ๋‚œ์Šค๋Ÿฌ์šด ๋А๋‚Œ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋งž์ถคํ˜• Googleโ€‘์Šคํƒ€์ผ ๋กœ๋” ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์‚ฌ์ดํŠธ๋ฅผ ์žฌ๋ฏธ์žˆ๊ฒŒ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.
  • ๋ผ์šฐํŠธ ๊ธฐ๋ฐ˜ ํŽ˜์ด์ง€ ์ „ํ™˜ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ๊ฐ ์„น์…˜๋งˆ๋‹ค ๋‹ค๋ฅธ ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • ๋งž์ถคํ˜• ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ปค์„œ๊ฐ€ ๋ณด๋‹ค ๋ถ€๋“œ๋Ÿฌ์šด ์ƒํ˜ธ์ž‘์šฉ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์˜คํ”ˆ ์†Œ์Šค ์„น์…˜

๊ธฐ๋ณธ GitHub ๊ธฐ์—ฌ ๊ทธ๋ž˜ํ”„๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋Œ€์‹ , ๋ฐฉ๋ฌธ์ž๊ฐ€ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ „์šฉ Open Source ์„น์…˜์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค:

  • ๋‚ด๊ฐ€ ๊ธฐ์—ฌํ•œ ์กฐ์ง
  • ๋‚ด๊ฐ€ ๋งŒ๋“  ํ’€ ๋ฆฌํ€˜์ŠคํŠธ
  • ๋‚ด๊ฐ€ ์ž‘์—…ํ•œ ์ด์Šˆ
  • ์‹œ๊ฐ„์— ๋”ฐ๋ฅธ ๊ธฐ์—ฌ ํ™œ๋™

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋‚ด ์˜คํ”ˆโ€‘์†Œ์Šค ์ž‘์—…์ด ํˆฌ๋ช…ํ•ด์ง€๊ณ  GitHub์„ ์—ฌ๊ธฐ์ €๊ธฐ ์˜ฎ๊ฒจ ๋‹ค๋‹ ํ•„์š” ์—†์ด ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ์šฐ

  • Antigravity IDE๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๊ฐœ๋ฐœ์— ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • plan.md ํŒŒ์ผ์€ ์•„์ด๋””์–ด, ํŽ˜์ด์ง€ ๊ตฌ์กฐ, ์• ๋‹ˆ๋ฉ”์ด์…˜ ๊ณ„ํš ๋ฐ ๊ฐœ์„  ์‚ฌํ•ญ ๋ฉ”๋ชจ์™€ ํ•จ๊ป˜ ์ง€์†์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • IDE ๋‚ด๋ถ€์—์„œ ๊ณ„ํš, ๋ฆฌํŒฉํ† ๋ง ๋ฐ ๋” ๋‚˜์€ ์ปดํฌ๋„ŒํŠธ ๋˜๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜ ๊ตฌ์กฐ ํƒ์ƒ‰์„ ์œ„ํ•ด ๋‹ค์–‘ํ•œ AI ๋ชจ๋ธ์„ ์ „ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • Gemini Nano Banana๋Š” ํ”„๋กœ์ ํŠธ ์„น์…˜์˜ ๋ชฉ์—…์„ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋„๊ตฌ๋“ค์€ ๋” ๋น ๋ฅด๊ฒŒ ๋ฐ˜๋ณตํ•˜๊ณ  ํ”„๋กœ์„ธ์Šค๋ฅผ ์›ํ™œํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ด๋ผ์ดํŠธ ๋ฐ ์ž๋ž‘์Šค๋Ÿฌ์šด ์ˆœ๊ฐ„

  • ๋ณต์žกํ•œ SVG ๊ฒฝ๋กœ์™€ ํƒ€์ž„๋ผ์ธ ๊ธฐ๋ฐ˜ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์œ„ํ•ด GSAP๋ฅผ ๋ฐฐ์šฐ๊ณ  ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋งž์ถคํ˜• ๊ตฌ๊ธ€ ์Šคํƒ€์ผ ๋กœ๋” ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์„น์…˜๋ณ„ ๊ณ ์œ  ๋ฉ”์‹œ์ง€๋ฅผ ํฌํ•จํ•œ ๋ผ์šฐํŠธ ๊ธฐ๋ฐ˜ ํŽ˜์ด์ง€ ์ „ํ™˜ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋งž์ถคํ˜• ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ปค์„œ๋ฅผ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • 10๊ฐœ์˜ ์ผ๊ด€๋œ ํ…Œ๋งˆ๋ฅผ ๊ฐ€์ง„ ์™„์ „ํ•œ ํ…Œ๋งˆ ์ธ์‹ ๋””์ž์ธ ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ •์  GitHub ๊ทธ๋ž˜ํ”„ ๋Œ€์‹  ์‹ค์ œ ๋ฐ์ดํ„ฐ์™€ ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•ด ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ๋ฅผ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๋ฅผ ์••๋„ํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ์‚ฌ์ดํŠธ๋ฅผ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒํ•˜๊ณ  ์‹œ๋„ค๋งˆํ‹ฑํ•˜๊ฒŒ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

ํšŒ๊ณ 

์ด ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ๋งŒ๋“ค๋ฉด์„œ ๋‚˜๋Š” ํŽธ์•ˆํ•œ ์˜์—ญ์„ ํฌ๊ฒŒ ๋ฒ—์–ด๋‚˜๊ฒŒ ๋˜์—ˆ๊ณ , ์ด์ „์— ํ•ด๋ณธ ์  ์—†๋Š” ์ผ๋“ค์„ ์‹œ๋„ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ธ๋‚ด์‹ฌ์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค: ๋งŽ์ด ์‹คํ—˜ํ•˜๊ณ , ์ž์ฃผ ๋ถ€์ˆ˜๋ฉด์„œ, ์ž‘์€ ๋””ํ…Œ์ผ์ด ์ œํ’ˆ์˜ ๋А๋‚Œ์„ ์™„์ „ํžˆ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค.

์™„๋ฒฝํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ์†”์งํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•˜๊ณ , ๋งŒ๋“ค๊ณ , ๋ฐฐ์šฐ๋Š” ๋ฐฉ์‹์„ ๋ณด์—ฌ์ฃผ๋ฉฐ, ๊ทธ๋ž˜์„œ ๋‚˜์—๊ฒŒ ํŠน๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

์ฝ์–ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์˜ ํ”ผ๋“œ๋ฐฑ์„ ๋“ฃ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค! ๐Ÿ™Œ

Back to Blog

๊ด€๋ จ ๊ธ€

๋” ๋ณด๊ธฐ ยป

ReactJS ~React Server Components~

ReactJS ~React Server Components~์˜ ์ปค๋ฒ„ ์ด๋ฏธ์ง€ https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev...

์ƒˆํ•ด ๋ณต ๋งŽ์ด ๋ฐ›์œผ์„ธ์š”!

์†Œ๊ฐœ ์ด ์ž‘ํ’ˆ์€ Google AI๊ฐ€ ์ฃผ์ตœํ•œ New Year, New You Portfolio Challenge์— ์ œ์ถœํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•ˆ๋…•ํ•˜์„ธ์š”, ์ €๋Š” ๋ชฌํŠธ๋ฆฌ์˜ฌ์— ๊ฑฐ์ฃผํ•˜๋Š” software developer ํ˜„์šฐ์ž…๋‹ˆ๋‹ค.