Misc
kiroku
記録, "record." the score tracker i'm building, because every existing option needs a paid net subscription, a bookmarklet, or patience i don't have at 11pm in a loud arcade.
what it is#
a native iOS app (swiftui, swiftdata, cloudkit) that tracks scores for maimai DX, CHUNITHM and SDVX.
core features#
- song db for all three games, from zetaraku's arcade-songs, bundled + refreshed in the background
- quick log: game → song → chart → score → lamps in a few taps, one-handed at the cab
- photo + location on any score, with saved arcades (see arcades)
- claude reads my results screen photo (my own API key, stored in keychain) and pre-fills the score. i always confirm before it saves
- browsing per game, per difficulty, per level, plus a global recent feed
- stats: rating/volforce over time, lamp grids per level, sessions, spend, goals, "nearly there" list
design decisions#
| decision | why |
|---|---|
| native ios only | it should feel like an apple app, not a website in a box |
| swiftdata + cloudkit | no backend to maintain, syncs for free |
| byo api key | no server, no costs for anyone else, keys never leave the device except to anthropic |
| never auto-save photo reads | ocr on jp titles at an angle with glare will be wrong sometimes |
| rating formulas behind a protocol | they change every version. one file to fix, with tests |
| bundled song db snapshot | works offline in the arcade basement |
status#
- name
- claude code prompt written
- data model
- song db import
- manual logging
- stats
- claude photo reading
- widgets / shortcuts / share extension
- kamai-compatible export
the photo reading flow#
- take a photo of the results screen (or pick one from photos)
- downscale, keep the digits legible
- send to claude with a strict tool schema: game, title, chart, level, score, lamps, judgements, confidence per field
- fuzzy-match the title to the song db (romaji-aware)
- ambiguous? send a shortlist back for a second pass
- show a pre-filled form, low-confidence fields highlighted
- i tap confirm
batch mode for "i took 14 photos tonight and logged nothing."
ideas parking lot#
- apple watch complication for "credits tonight"
- live activity during a session
- per-chart notes ("missed the slide at the drop")
- handcam video attachments
- friend comparison via shared json export
- arcade cab status notes ("left maimai A3 dead spot")
