버려진 사이드 프로젝트, AI가 추모해 드립니다

by DD
2시간 전
조회수 4

개발자들의 사이드 프로젝트 무덤(Side Project Graveyard)에 대한 공감대를 바탕으로, 방치된 프로젝트에 대한 추모 플랫폼 DevGraveyard를 개발함

GitHub 커밋 기록을 분석하여 프로젝트 몰입도(Project Obsession)와 같은 실제 데이터를 추출하고 이를 비석에 새김

Google Gemini AI를 활용하여 실제 커밋 데이터를 기반으로 감성적인 추모사(AI Eulogy)를 생성하고, 3D 묘지 공간에 시각화함

GitHub 커밋 데이터 기반 '몰입도' 측정 방식

DevGraveyard는 GitHub API를 통해 프로젝트의 전체 커밋 기록(Full Commit History)을 가져와 개발자의 집중도(Obsession Data)를 측정한다.

최대 연속 커밋 일수(Peak Streak), 하루 최대 커밋 수(Max Commits in a Day), 마지막 커밋 시간(Latest Night Session) 등을 계산하여 프로젝트에 대한 열정을 수치화함

이러한 데이터는 단순히 통계적 지표를 넘어, AI 추모사 생성 시 구체적인 맥락(Specific Context)을 제공하는 핵심 요소로 활용됨

데이터 기반 감성 분석(Data-Driven Emotional Analysis)을 통해 버려진 프로젝트에 대한 개발자의 복잡한 감정을 표현하는 데 기여함

Gemini AI를 활용한 개인화된 추모사 생성

Google Gemini (gemini-2.5-flash) 모델은 개발자의 GitHub 커밋 데이터와 직접적인 상호작용을 통해 개인화된 추모사(Personalized Eulogy)를 생성한다.

맞춤형 프롬프트 엔지니어링(Custom Prompt Engineering)을 통해 '개발자로부터 프로젝트에게 보내는 편지' 형식과 '극적이고 어두운 유머' 톤을 구현함

실제 커밋 데이터(예: 특정 시간대 커밋, 마지막 커밋 메시지)를 참조하여 일반적인 AI 응답과 차별화된 진정성을 부여함

생성된 추모사는 타이핑 애니메이션(Typewriter Animation)으로 표시된 후 Supabase에 영구 저장되어, 프로젝트의 디지털 유산으로 보존됨

Three.js 기반의 인터랙티브 3D 묘지 구현

React Three Fiber와 @react-three/drei를 사용하여 인터랙티브한 3D 묘지(Interactive 3D Cemetery)를 구축했다.

각 묘비는 ExtrudeGeometry와 THREE.Shape를 활용하여 간결하게 모델링되었으며, 로드 시 지연 로딩(Staggered Loading) 애니메이션이 적용됨

촛불 깜빡임, 떠다니는 영혼 구체(Soul Wisps), 부활 링(Resurrection Pulse) 등 다양한 시각 효과와 애니메이션을 구현하여 몰입감을 높임

사용자는 3D 환경 내에서 직접 촛불을 켜거나 부활 투표를 할 수 있으며, 이러한 상호작용은 실시간으로 API를 통해 반영됨

Next.js App Router와 Supabase 기반의 풀스택 아키텍처

프론트엔드는 Next.js 14의 App Router와 TypeScript, Tailwind CSS를 사용하여 구축되었으며, Supabase는 인증, 데이터베이스, 실시간 기능을 담당한다.

GitHub OAuth를 통한 간편한 사용자 인증(Seamless User Authentication)을 지원하며, Postgres 데이터베이스와 Row Level Security(RLS)를 통해 데이터 접근을 제어함

프로젝트 매장, 추모사 저장, 커뮤니티 기능 등 핵심 백엔드 로직은 Supabase의 기능을 활용하여 효율적으로 구현됨

Vercel에 배포하여 빠른 빌드 및 배포 환경을 활용하며, 프론트엔드와 백엔드 간의 긴밀한 통합을 제공함

개발자의 '버려진 프로젝트'에 대한 감정적 연결 탐구

이 프로젝트는 단순히 기술적 구현을 넘어, 개발자들이 사이드 프로젝트에 쏟았던 열정과 그 상실감이라는 감정적 측면에 주목한다.

'죽음의 원인' 선택지(예: "Localhost를 벗어나지 못함")와 실제 커밋 데이터는 개발자가 프로젝트를 포기할 때 느끼는 복잡한 감정을 반영

커뮤니티 기능(촛불 밝히기, RIP 메시지 남기기, 부활 투표)은 공동체의 애도와 지지를 통해 프로젝트의 가치를 재확인하는 경험을 제공함

'진짜 추모처럼 느껴지도록' 하는 디자인 철학은 기술과 감성의 결합을 통해 사용자에게 독특하고 의미 있는 경험을 선사하고자 함

I Built a Graveyard for My Dead Side Projects - With AI Eulogies & a 3D Cemetery