하루가 커밋으로 남는다면
개발자는 하루를 커밋 기록으로 돌아볼 수 있습니다. 언제 무엇을 했는지가 시간순으로 남고, 잔디를 보면 꾸준했던 날과 쉬었던 날이 한눈에 보입니다. LifeCommit은 이 방식을 스마트폰 사용에 옮긴 개인 기록 앱입니다. 어떤 앱을 언제 얼마나 썼는지가 커밋으로 쌓이고, 잔디(Contribution Graph)와 Git 그래프로 보여 줍니다.
GitHub 저장소는 공개되어 있고, 최신 버전(v0.2.0)의 APK는 Releases에서 받을 수 있습니다.
무엇을 보여 주나
- 오늘: 사용 시간, 상위 앱, 가장 오래 쓴 앱을 요약하고 하루를 라이프 그래프로 그립니다. 커밋을 누르면 자세한 내용을 보고, "오늘의 한 줄"로 메모 커밋도 남길 수 있습니다.
- 주·월·연: 기간별로 가장 많이 쓴 앱과 브랜치 통계를 봅니다. 월과 연에서는 잔디도 함께 표시됩니다.
- 잔디 = 하루 폰 사용시간: 잔디는 그날 앱을 쓴 시간으로 10단계 색을 칠합니다(0 · 30분 미만 · 30분 · 1 · 2 · 3 · 4 · 5 · 6 · 8시간 이상). 월 달력 칸에는 그날 사용시간(예:
2.5h)이 적히고, 연·월 모두 범례가 붙습니다. - 3D 잔디와 이미지 내보내기: 잔디 위
2D | 3D버튼으로 사용시간만큼 솟은 입체 잔디를 볼 수 있습니다.공유·저장버튼으로 지금 보는 잔디를 이미지로 내보낼 수 있고, 저장하면 사진의Pictures/LifeCommit앨범에 들어갑니다(Android 10 이상, 추가 권한 불필요). - 브랜치: 앱을 web, media, sns, game, work, life, etc, system 브랜치로 나눕니다. 분류를 바꾸면 과거 기록까지 함께 바뀝니다.
- 터미널:
git log,git search <키워드>같은 명령으로 기록을 조회합니다.
화면 미리보기
아래 화면은 예시 데이터로 채운 확장판(LifeCommit+) 화면입니다. 이름, 장소, 통화 기록은 모두 가상의 값이고 실제 사용자의 기록이 아닙니다. 잔디와 사용시간 화면은 공개 빌드도 같습니다.
개인정보를 먼저 설계했습니다
사용 기록은 민감한 정보라서, 기능보다 데이터가 어디에 머무는지를 먼저 정했습니다.
- 공개 빌드는
INTERNET권한을 선언하지 않습니다. 기록은 기기 밖으로 나가지 않습니다. - 기록은 기기 안 SQLite에 SQLCipher로 암호화해 저장하고, 키는 Android Keystore가 보호합니다.
- 화면 내용, 입력한 글자, 메시지는 읽지 않습니다. 공개 빌드가 기록하는 것은 어떤 앱이 언제 앞에 있었는지뿐입니다.
- 요청하는 권한은 사용 정보 접근, 부팅 완료 수신, 알림 전송 세 가지입니다.
JSON 백업 파일은 암호화되지 않으니, 내보낸 파일은 직접 안전한 곳에 보관해야 합니다.
한계도 적어 두었습니다
디지털 웰빙과 숫자가 다를 수 있습니다. 화면을 끈 채 음악만 듣는 시간처럼 앱이 화면에 떠 있지 않은 시간은 세지 않습니다. 절전 기능이나 강제 종료로 수집이 끊긴 구간은 지어내지 않고 "수집 확인 불가"로 표시합니다. 직장 프로필과 보안 폴더의 앱은 수집되지 않습니다. 자세한 경우는 README의 "알아 두실 점"에 정리했습니다.
설치하기
Releases에서 LifeCommit-oss-<버전>.apk를 받아 설치합니다. 릴리스 노트에 APK의 SHA-256과 서명 인증서 지문이 있으니 확인해 보세요. 설치 뒤에는 사용 정보 접근 권한을 켜고, 화면을 한 번 껐다 켜면 기록이 쌓이기 시작합니다. 설치 전의 사용 기록은 가져오지 않습니다. v0.1.0을 쓰고 있다면 같은 서명이라 새 APK로 덮어 설치해도 기록이 그대로 유지됩니다.
위치, 통화, 메신저 답장까지 기록하는 확장판 LifeCommit+도 있지만, 민감한 권한이 필요해서 APK로는 배포하지 않고 소스 빌드로만 제공합니다. v0.2.0부터 확장판에는 이동 리플레이를 MP4 영상으로 녹화해 공유·저장하는 기능이 더해졌습니다(최대 약 90초). 영상에는 이동 경로가 담기므로 공유하기 전에 한 번 더 확인하세요.
v0.2.0에서 달라진 점
- 잔디가 커밋 개수가 아니라 하루 폰 사용시간으로 칠해집니다. 예전에는 거의 매일 가장 진한 색이어서 날마다의 차이가 잘 보이지 않았습니다.
- 3D 잔디, 잔디 이미지 공유·저장이 추가되었습니다.
- 화면 스타일 도구를 Tailwind CSS 4로 올렸습니다. 화면 모양은 그대로입니다.
- 인터넷 권한은 여전히 없습니다. 공유는 직접 고른 앱으로만 전달되고, 저장은 기기 사진 앨범에만 됩니다.
피드백
피드백이나 버그는 GitHub Issues로 남겨 주세요.
