프로젝트 목록으로

Case Study

자체 프로덕트

OnePick

하루 한 장의 사진으로 일상을 기록하고 여정 단위로 관리하는 포토 다이어리 웹 앱입니다.

직접 기획하고 출시해 운영 중인 제품입니다. 기술 범위와 운영 방식을 판단하는 근거로 봐주세요.

서비스 방문

프로젝트 개요

OnePick은 하루 한 장이라는 제약을 통해 일상의 순간을 기록하도록 설계한 사진 기반 다이어리 웹 앱입니다. 여정 단위 관리, 소셜 초대, Firebase 인증과 스토리지, 반응형 UI, Storybook 문서화, 테스트를 Next.js 14와 Firebase 기반으로 구축했습니다. 매일 사진을 기록한 한 달 기준으로는 현재 보는 월만 구독하고 여정 문서에 사진이 있는 날짜를 저장해 Firestore 문서 읽기 수를 1,740회에서 60회로 줄였습니다.

실제 화면

여정 상세와 날짜별 사진 기록 화면
여정 상세와 날짜별 사진 기록 화면
하루 한 장 사진 등록 모달
하루 한 장 사진 등록 모달
여정 전체 사진 갤러리 화면
여정 전체 사진 갤러리 화면
여정 설정과 멤버 초대 화면
여정 설정과 멤버 초대 화면

주요 도전 과제

  • 하루 한 장 사진 기록이라는 제약 중심의 단순한 기록 루프 설계
  • Recoil 기반 여정과 사진 상태 관리
  • Firebase Auth, Firestore, Storage 통합
  • 사진 기록이 많은 월을 조회할 때 반복되는 Firestore 읽기 최소화
  • 모바일과 데스크톱을 모두 고려한 반응형 포토 다이어리 UI 구현

주요 성과

  • 기획부터 배포까지 완결형 포토 다이어리 앱 구축
  • 여정 관리와 소셜 초대 흐름 구현
  • Firebase 인증, 데이터 저장, 사진 업로드 구현
  • 현재 월 구독과 사진 날짜 메타데이터로 일일 기록 한 달의 Firestore 문서 읽기를 1,740회에서 60회로 96% 절감
  • Storybook 컴포넌트 문서화와 Jest 테스트 기반 마련

사용 기술

Next.js 14ReactTypeScriptFirebaseFirestoreTailwindCSSRecoilStorybookJest