AI와 Obsidian으로 나만의 루틴 앱 만들기
기존 유료 루틴 앱의 개인화 부족과 데이터 종속성에 대한 아쉬움으로 자체 개발 결정
Obsidian을 데이터 기반으로, Claude Code를 활용해 JavaScript 기반 기능 구현으로 개발 진입장벽을 낮춤
스크린샷 기반의 반정형 데이터 마이그레이션으로 기존 데이터 이전의 어려움을 해결하고 실사용 단계까지 성공적으로 전환함
바이브 코딩(Vibe Coding)과 개인용 도구 개발의 매력
본문에서는 개인용 도구 개발이 완벽한 설계보다 빠른 구현을 우선시하는 바이브 코딩(Vibe Coding) 방식과 잘 맞는다고 설명함.
개발 진입장벽 완화: AI 도구(Claude Code) 활용으로 복잡한 설계 없이도 필요한 기능 구현 가능
명확한 기준: '내가 매일 쓰면 성공', '내가 보기 편하면 잘 만든 것'이라는 개인적 만족도가 핵심 기준이 되어 빠른 의사결정 가능
부담 감소: 남을 위한 제품이 아닌 개인 맞춤형 도구이므로 러닝 커브(Learning Curve)와 유지보수 부담이 현저히 낮음
결과적으로, 개발자에게는 작고 빠른 실험을 통해 아이디어를 검증하고 실사용 경험을 얻는 좋은 기회가 된다.
Obsidian을 데이터 기반 작업 공간으로 활용
필자는 Obsidian을 단순 노트 앱을 넘어 개인 생활 데이터 관리를 위한 핵심 도구로 활용함.
텍스트 기반 데이터 관리: 루틴 기록과 같은 생활 데이터를 특정 서비스에 종속시키지 않고 사용자가 원하는 구조로 직접 관리 가능
통합 작업 환경: 노트, 메모, 템플릿, 데이터 조회 기능이 한 공간에서 이루어져 별도의 앱 설치 없이 작업 공간 확장 효과
플러그인 조합: Git, Templater, Dataview 플러그인으로 데이터 동기화, 입력 자동화, 조회 기능을 보강하고, 부족한 부분은 Claude Code로 직접 구현하여 유연성 확보
이는 마치 새로운 앱을 만드는 것이 아니라, 기존 작업 환경을 개인화하는 접근 방식에 가깝다.
Claude Code를 활용한 반정형 데이터 마이그레이션
기존 유료 앱의 데이터를 새 도구로 옮기는 과정에서 스크린샷 기반의 반정형 데이터 마이그레이션 방식이 핵심적인 역할을 함.
OCR 및 규칙 기반 처리: 기존 앱의 월별 통계 화면(루틴 체크 달력, 메모)을 스크린샷으로 캡처하고, Claude에게 체크 기준, 메모 형식, 결과 포맷 등 규칙을 설명하여 Obsidian 구조에 맞게 변환 요청
공학적 접근 방식 탈피: OCR이나 파서 개발 대신, 작업자에게 지시를 내리듯 AI에게 명확한 규칙을 전달하는 방식으로 개발 시간 단축 및 효율 증대
실용적 결과: 100% 완벽하진 않지만, 압도적으로 빠른 데이터 이전으로 수작업의 한계를 극복하고 프로젝트의 실사용 단계 전환을 가능하게 함
이는 생성형 AI가 코드 작성 외에도 애매한 시간 소모 영역에서 큰 효율을 발휘할 수 있음을 보여준다.
개인용 도구 개발의 차별화 포인트: 가중치 부여 및 시각화
필자는 개인용 루틴 앱 개발 시, 기존 서비스와 차별화되는 개인 맞춤형 기능을 구현하는 데 집중함.
가중치 기반 루틴 체크: 모든 루틴을 동일하게 취급하는 대신, 운동 1시간과 물 마시기처럼 중요도에 따라 루틴별 가중치를 부여하여 '충만한 하루'의 기준을 재정의
맞춤형 월/연간 대시보드: Dataview로 데이터 조회를, Claude Code로 JavaScript 기반 시각화를 구현하여 사용자가 원하는 흐름과 패턴을 직관적으로 파악 가능
맥락 기반 루틴 메모 및 AI 분석: 루틴 성공/실패의 맥락을 기록하고, 이를 Claude에게 질문하여 생활 패턴 분석까지 확장
이러한 기능들은 사용자 정의(User-Defined) 관점에서 설계되어, 단순 기록을 넘어 생활 데이터 해석 도구로서의 가치를 높임.
개발자에게 개인용 도구 제작이 갖는 의미
이번 경험은 개발자에게 개인용 도구 제작이 단순한 취미를 넘어 실질적인 가치를 제공함을 시사함.
아이디어 검증 및 빠른 피드백: 작고 빠르게 만들 수 있어 실제 사용 경험을 통해 아이디어의 실현 가능성과 효용성을 즉각적으로 검증 가능
기술적 실험 및 학습 기회: 새로운 기술(AI 도구, Obsidian 플러그인)을 부담 없이 실험하고, 실제 문제 해결 과정에서 깊이 있는 학습 경험 축적
개발 생산성 향상: 반복적인 작업 자동화, 데이터 관리 효율화 등을 통해 일상 업무의 불편함을 해소하고 개발자 본인의 생산성 증대
결론적으로, 대규모 서비스 개발의 부담 없이 아이디어를 현실화하고 실질적인 문제 해결을 경험할 수 있다는 점에서 개인용 도구 제작은 매력적인 활동이다.