Skip to content

kez-lab/image-calendar-sdd

Repository files navigation

Image Calendar SDD

Local-first Android product workspace for a private image calendar app. This repo is operated as an LLM-maintained second brain plus SDD implementation project.

Product

Image Calendar is a personal mobile app for recording daily photos, short notes, and emotion tags by date.

Core constraints:

  • No server
  • No login
  • No social graph, feed, likes, comments, follows, or sharing
  • All records stay on the current device
  • Backup/export is always an explicit user action

Product promise:

내 폰 안에만 조용히 쌓이는 하루 사진 캘린더

Current Status

Area Status
Product/Wiki MVP scope and local-only rules are documented
Design Claude Design v2 ingested as implementation reference
Android App Kotlin + Jetpack Compose app builds and runs
Persistence Room-backed PhotoEntry + LocalAsset persistence implemented
Record Lifecycle Day Detail edit/delete implemented and Android CLI verified
MVP Surfaces Onboarding, Calendar, Add, Day Detail, Archive, Settings implemented
Verification Android CLI build/run/layout/screenshot evidence is stored in raw/verification
Release Readiness MVP feature-complete for internal QA; external design/privacy review still recommended before public release

Latest verified slice:

  • 2026-05-01 - MVP completion: onboarding, archive, settings backup/delete, restart verification

App Implementation

Implemented:

  • Onboarding with local-only value proposition and start/skip actions
  • Calendar tab with month grid, today highlight, local-only badge, and record marker
  • Empty-date add CTA from Calendar
  • Add tab with gallery picker entry, debug QA fixture, required photo validation, date validation, memo, emotion tags, and local save
  • Day Detail view after save
  • Day Detail edit dialog for date, memo, and emotion metadata
  • Day Detail delete confirmation and repository-backed record deletion
  • Archive tab with month grouping, memo/date search, emotion filters, no-result state, and Day Detail navigation
  • Settings tab with local trust card, backup zip export, restore follow-up row, app info, danger zone, and delete-all confirmation
  • Room database schema export under app/schemas/
  • Internal image copy and thumbnail generation
  • Backup zip export with manifest.json, originals, and thumbnails
  • Full data deletion for local records and internal entry assets
  • Repository rollback cleanup on metadata insert failure
  • Repository cleanup failure detection on record deletion
  • Android CLI-friendly content descriptions and test tags for touched controls

Not yet implemented:

  • Camera capture
  • Restore/import
  • Stable long-term backup migration contract
  • Automated Android CLI smoke script

Repository Map

Path Purpose
app/ Android Native Kotlin + Jetpack Compose app
raw/ Source-of-truth materials: prompts, designs, meetings, verification evidence
wiki/ Persistent LLM-maintained project wiki
specs/ SDD-style feature specifications and implementation tasks
.codex/skills/ Project-versioned Codex skills, including Android CLI workflows
.github/pull_request_template.md PR checklist for wiki/spec sync, verification evidence, and local-only guard
docs/conventions/ Project workflow conventions such as branch, commit, and PR rules
AGENTS.md Agent operating rules and wiki maintenance protocol

Key Documents

Latest Verification

Verification Evidence
Room persistence smoke raw/verification/2026-04-29-room-persistence-smoke
Overall behavior/design review raw/verification/2026-04-29-overall-behavior-design-review
Day Detail edit/delete raw/verification/2026-05-01-day-detail-edit-delete
MVP completion raw/verification/2026-05-01-mvp-completion
QA summary wiki/05-qa/verification-report-2026-04-29.md
QA summary wiki/05-qa/verification-report-2026-05-01.md
QA summary wiki/05-qa/verification-report-2026-05-01-mvp-completion.md

Verification rules:

  • Every meaningful UI verification must store screenshots, layout JSON, annotated screenshots, action log, and findings under raw/verification/.
  • Android CLI is the official install/launch/layout/screenshot tool for device verification.
  • Local ignored artifacts/ can be used temporarily, but durable evidence must be copied into raw/.

Build And Run

./gradlew assembleDebug
android describe --project_dir=.
android run --apks=app/build/outputs/apk/debug/app-debug.apk --activity=.app.MainActivity

Capture evidence:

android layout --pretty --output=raw/verification/<date-topic>/assets/screen-layout.json
android screen capture --output=raw/verification/<date-topic>/assets/screen.png
android screen capture --annotate --output=raw/verification/<date-topic>/assets/screen-annotated.png

Quality Gates

Before a feature is considered done:

  • ./gradlew assembleDebug passes.
  • Official android run can install and launch the app.
  • Screen evidence is saved under raw/verification/.
  • Layout JSON exposes useful content descriptions or test tags for key actions.
  • Source scan shows no INTERNET, account, upload, sync, cloud, share, or social concepts.
  • The relevant specs/*/tasks.md, wiki/06-project/implementation-log.md, and wiki/log.md are updated.

Next Work

Post-MVP sequence:

  1. Convert the Android CLI MVP journey into a reusable smoke script/checklist.
  2. Run external designer review against the MVP screenshot evidence.
  3. Review backup/delete copy with privacy/legal perspective before public release.
  4. Decide whether Camera capture or restore/import is the next product increment.

About

SDD knowledge base for a local-first image calendar app

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors