jacemaster
최근 수정 시각: 2026-07-11 00:13:16
1. 개요
jacemaster는 따로 운영되던 개인 생활 앱들을 하나의 설치형 웹앱 셸로 묶은 통합 허브다. 홈 / 학습 / 라이프 / 머니·업무 / 더보기의 5탭 동선을 한 PIN 잠금 아래에 두고, 자주 쓰는 운동·식단, 의식, D-Day, 가계부, 업무를 네이티브 Svelte 컴포넌트로 다시 구현했다.
핵심은 여러 기록을 한 화면에 억지로 합치는 것이 아니라, “오늘 무엇을 해야 하는가”를 홈에서 보여 주고 각 전문 모듈로 자연스럽게 내려가는 흐름이다. 원본 앱은 직접 열기 링크로 남겨 두면서 jacemaster가 기능을 점진적으로 흡수하는 Strangler 패턴을 따른다.

PIN 화면은 앱을 가리는 소프트 클라이언트 잠금이자 데이터 네임스페이스 선택자다. jacehub에서 쓰던 6자리 PIN을 입력할 수 있고, 이 기기에서 처음이면 입력한 PIN이 새 값으로 설정된다. 서버가 정답 PIN을 검증하지 않으므로 다른 PIN을 넣으면 오류 대신 그 PIN의 비어 있는 데이터 영역이 보일 수 있다.
2. 기능 한눈에 보기
| 문서 | 무엇을 하는가 |
|---|---|
| 홈 대시보드 | 시간대 CTA, 오늘의 퀘스트, 영양·예산·D-Day·작업 위젯과 앱 런처를 한 화면에 배치한다. |
| 운동·식단 | 끼니·영양, 운동 세션·세트, 신체 변화, 레시피와 루틴 템플릿을 기록한다. |
| 의식 | 아침 회고·의도·우선순위와 저녁 완료·감정·메모를 한 흐름으로 잇는다. |
| 가계부 | 거래·예산 카테고리·구독·영수증·월간 리포트를 관리한다. |
| 업무 | 날짜별 태스크, 우선순위·상태, 이월, 달력, 일일 리포트와 활동 로그를 다룬다. |
| AI | 식단 사진, 영수증, 의식 요약, 소비 리포트와 메모→업무 변환에 Gemini를 사용한다. |
3. 시작하기
- jacemaster를 열고 6자리 PIN을 입력한다.
- 홈의 시간대 CTA와 위젯을 확인한 뒤, 하단 탭에서 라이프 또는 머니·업무로 이동한다.
- 모듈 카드를 누르면 jacemaster 안의 네이티브 화면이 열리고, 상단 원본 열기로 기존 독립 앱을 새 탭에서 열 수 있다.
- 생성형 기능을 쓸 때는 해당 화면의 AI 버튼을 누른 뒤 결과를 검토하고 저장한다. 키가 없으면 수동 기능을 계속 사용할 수 있도록 안내한다.
4. 기술 스택
- SvelteKit·Svelte 5·Vite와 Cloudflare 어댑터를 사용한다.
- Cloudflare D1에는 생활 기록·퀘스트·업무·가계부 데이터가, KV에는 PIN 볼트가 저장된다.
- R2
jacemaster-images는 식단·영수증 등 이미지 파일을 보관한다. DDAY_KV는 원본 D-Day 앱의 데이터를 읽기 전용으로 참조한다.- manifest와 서비스 워커로 PWA 설치 및 업데이트 안내를 지원한다.
- 생성형 기능은 서버에서 Gemini를 호출하며 기본 모델은 코드상
gemini-3.5-flash다.
5. 개발 배경
jacemaster는 “앱을 만들고, 실제로 쓰고, 검증된 기능을 다시 하나로 모으는” 장기 흐름의 통합 단계다. 원본 앱을 한꺼번에 없애지 않고 핵심 모듈부터 네이티브로 옮겨 홈 위젯·퀘스트·주간 회고에 연결했다. 그래서 독립 앱의 깊이는 유지하면서 일상의 진입점만 하나로 줄인다.
6. 링크
- 라이브: jacemaster.pages.dev
- 소스:
architectofthoughts/jacemaster비공개 저장소