루틴스토리 개발기
일상의 습관을 기록하고 관리하는 것은 중요합니다. 하지만 대부분의 습관 트래커 앱은 단순히 체크만 할 뿐, 왜 습관이 무너지는지, 어떤 패턴이 있는지 알려주지 않습니다. 루틴스토리는 이 문제를 AI로 해결하려는 시도에서 탄생했습니다.
아이디어의 시작
루틴스토리의 아이디어는 개인적인 경험에서 출발했습니다. 매일 운동을 하겠다고 다짐하지만, 일주일이면 흐지부지 되는 경험을 반복하면서 "왜 실패하는지 데이터로 보여주는 앱이 있으면 좋겠다"는 생각을 했습니다.
기존 습관 앱들을 분석해보니 공통적인 한계가 있었습니다:
- 단순 체크리스트에 그침
- 실패 원인에 대한 인사이트가 없음
- 동기부여가 일회성 알림에 의존
이 세 가지를 해결하는 것이 루틴스토리의 목표가 되었습니다.
기술 스택 선정
Flutter를 선택한 이유
크로스 플랫폼 프레임워크 중 Flutter를 선택한 이유는 다음과 같습니다:
- 하나의 코드베이스로 iOS와 Android를 동시에 지원
- 풍부한 애니메이션 지원으로 차트와 인터랙션 구현에 유리
- 빠른 개발 속도 — Hot Reload로 즉시 변경사항 확인 가능
Firebase 백엔드
백엔드로는 Firebase를 선택했습니다. 인증, 데이터베이스, 푸시 알림을 하나의 플랫폼에서 처리할 수 있어 1인 개발에 최적이었습니다.
- Firebase Auth: 소셜 로그인 (Google, Apple)
- Cloud Firestore: 루틴 데이터 실시간 동기화
- Cloud Functions: AI 분석 파이프라인
- Cloud Messaging: 맞춤형 알림 발송
핵심 기능 개발
AI 루틴 분석
루틴스토리의 핵심 차별점은 AI 분석입니다. 사용자의 루틴 기록 데이터를 분석하여 다음과 같은 인사이트를 제공합니다:
- 실패 패턴 감지: "월요일과 비 오는 날에 운동을 건너뛰는 경향이 있습니다"
- 최적 시간대 추천: "오전 7시에 시작한 루틴의 완료율이 85%로 가장 높습니다"
- 연관 루틴 발견: "독서를 한 날에 명상도 함께 하는 비율이 높습니다"
이 분석은 Cloud Functions에서 사용자 데이터를 집계하고, LLM API를 호출하여 자연어 인사이트를 생성하는 방식으로 구현했습니다.
스토리 기반 동기부여
단순한 숫자 대신, 루틴 달성을 스토리로 표현하는 것이 루틴스토리의 또 다른 특징입니다. 연속 달성일에 따라 캐릭터가 성장하고, 각 루틴에 짧은 일기를 남길 수 있습니다.
"오늘로 30일 연속 달성! 한 달 전의 나에게 고맙다고 말해주세요." 같은 메시지가 사용자의 지속적인 동기를 유지하는 데 효과적이었습니다.
차트와 시각화
습관 데이터를 직관적으로 보여주기 위해 fl_chart 패키지를 활용했습니다. GitHub의 잔디밭에서 영감을 받은 히트맵, 주간/월간 완료율 그래프, 루틴별 비교 차트를 구현했습니다.
개발 과정에서 배운 것들
1인 개발의 함정
모든 것을 혼자 하다 보니, 기능을 너무 많이 넣으려는 유혹에 빠지기 쉬웠습니다. MVP(최소 기능 제품) 원칙을 따라, 핵심 기능 3가지에 집중하고 나머지는 출시 후 사용자 피드백을 받아 추가하기로 했습니다.
사용자 테스트의 중요성
베타 테스트에서 받은 피드백이 가장 가치 있었습니다. 개발자 관점에서는 당연하다고 생각한 UI가 사용자에게는 혼란스러운 경우가 많았습니다. 특히 온보딩 과정을 3단계에서 1단계로 줄인 후 가입 완료율이 40% 이상 올랐습니다.
바이브 코딩의 효과
루틴스토리 개발에 바이브 코딩을 적극 활용했습니다. 특히 반복적인 CRUD UI 구현이나 Firebase 연동 코드 작성에서 AI 어시스턴트의 도움이 컸습니다. 체감상 개발 속도가 2~3배 빨라진 느낌이었습니다.
출시와 그 이후
루틴스토리는 아이디어 단계부터 App Store 출시까지 약 3개월이 걸렸습니다. 출시 후 한 달간 1,000명 이상의 사용자가 앱을 다운로드했고, 평균 평점 4.7점을 기록하고 있습니다.
현재는 사용자 피드백을 반영하여 소셜 기능(친구와 함께 루틴 챌린지)과 위젯 지원을 준비하고 있습니다.
마무리
루틴스토리를 만들면서 가장 크게 느낀 것은 **"좋은 앱은 기술이 아니라 문제 해결에서 시작된다"**는 점입니다. 화려한 기술 스택보다, 사용자의 진짜 문제를 이해하고 해결하는 것이 중요합니다.
앱 개발에 대한 아이디어가 있다면, devYUL Studio가 함께 만들어 드립니다. 편하게 문의해주세요.