Trip Ledger (트립 레저)
여행 경비 정산 및 예산 관리 도구
2025-12-10
The Challenge
**1. 오프라인 우선(Offline-First) 아키텍처** 해외여행 특성상 인터넷 연결이 원활하지 않은 상황이 빈번합니다. 네트워크가 끊긴 상태에서도 데이터 입력과 조회가 가능해야 했으며, 추후 네트워크가 복구되었을 때 데이터 충돌 없이 동기화(Sync)하는 로직이 필요했습니다. **2. 영수증 입력의 번거로움** 여행 중에는 영수증을 챙기는 것조차 귀찮은 일입니다. 수기 입력 방식을 고수할 경우 사용자 리텐션이 급격히 떨어지는 문제가 확인되었습니다.
The Solution
**1. Local-First 데이터베이스 설계** React Native의 로컬 데이터베이스(SQLite)를 메인 저장소로 사용하고, Firebase를 백업 및 동기화 용도로 활용하는 'Local-First' 전략을 채택했습니다. CRDT(Conflict-Free Replicated Data Type) 알고리즘을 응용하여 다중 기기에서의 편집 충돌을 우아하게 해결했습니다. **2. 온디바이스 OCR 도입** Google ML Kit의 텍스트 인식 기능을 앱 내에 탑재하여, 영수증을 사진으로 찍기만 하면 날짜, 상호명, 총액을 자동으로 추출합니다. 서버 통신 없이 기기 내부에서 처리되므로 속도가 빠르고 데이터 요금 걱정이 없습니다.
Project Overview
'트립 레저'는 "여행의 마지막 기억이 돈 계산 때문에 흐려져서는 안 된다"는 철학으로 시작된 프로젝트입니다. 복잡한 입력 과정을 극도로 단순화하여, 여행 중에도 3초 만에 지출 내역을 기록할 수 있는 직관적인 가계부 앱입니다. 실시간 환율 API를 연동하여, 달러, 엔화, 유로 등 다양한 통화로 결제한 내역을 즉시 원화 가치로 환산해 보여줍니다. 이를 통해 여행자는 현재 예산 대비 얼마나 사용했는지를 정확하게 파악할 수 있으며, 환율 변동으로 인한 숨은 비용까지 관리할 수 있습니다.
Tech Stack
- React Native (Expo)
- Firebase Firestore & Auth
- Google ML Kit (OCR)
- Recoil (State Management)
- TanStack Query
Key Features
- 실시간 환율 자동 적용 및 150개국 통화 지원
- 오프라인 모드 지원 (추후 자동 동기화)
- OCR 영수증 스캔 및 자동 입력 (On-Device AI)
- 그룹 멤버별 1/N 및 가중치 정산 기능
- 여행 보고서 PDF/Excel 내보내기