<- all projects
Murder Phone

Murder Phone

Android Volume In playtest

Crack open a murder victim's phone โ€” and catch the killer hiding in the contacts.

Murder Phone drops a dead stranger's phone in your hands โ€” real texts, real contacts, real secrets. Scroll their threads, pick the replies that crack a suspect, and follow the evidence until someone confesses. Every case is a different phone, a different victim, and a different killer hiding in the contact list. No typing, no dice rolls โ€” just you, the messages, and the truth.

In development

Dev log //

A text-message crime story where the interface is the constraint. Dense history because branching dialogue means every change touches more of the script than it looks like it should.

Commits
106
Days w/ changes
14
Started
01 JUL 2026
  • Add the licensing key, bump to versionCode 2, cut the upload candidate
  • Correct the client test count in the release records
  • Ship the ad-removal purchase and put the store claim back
  • Translate the twelve case entries that were silently falling back to English
  • Do the KO/JA review; pull a false IAP claim from the store listings
  • Record the real candidate; replace the stale todo list
  • Close the six code gates left from the round-3 audit
  • Add the offline recap narration audio (EN/KO/JA, 21 tracks)
  • Wire up recap narration, ad-id hardening, and the round-3 audit fixes
  • Implement bug-fix phases 1-3
  • Add the Play Console answer sheet; record the real content rating
  • Correct the privacy-policy claim: no change was needed
  • Score off evidence found, not attempts; pin it with a test
  • Fix the four device-log bugs; add versionCode policy and a capture script
  • Route CrashReporter to Crashlytics; replace the 16 KB check it invalidated
  • Rename to com.crystllabs.murderphone, bump to AGP 9, ship ads
  • Sign the release bundle with the existing Crystl key; add the JA listing
  • Drive the store icon from the launcher vector instead of hand-tuned fractions
  • Drive the last three story cases on a physical device; fix a placeholder node
  • Art pass: icon, feature graphic, avatars, and a look for the evidence photos
  • Add TODO.md; archive the old lowercase todo.md
  • Ship prep: SDK 36, no backend in 1.0, store kit, 3 bug fixes
  • Repoint hardcoded dev paths from C:\Users\ace\Documents\Crystl to D:\Crystl
  • Ignore local UI-dump debug artifacts
  • Fix cross-case tutorial PIN leak (for real) + per-case phone identity
  • Variety v2: channel registry, 3 new apps, multi-photo, generator v2, all 7 cases rebuilt + sweep round 2
  • Bug sweep (Part 1): fix trust-drop, clue-set race, Settings detach crash
  • Batch: case-switch persistence, Change Case button, transcript label, podcast voice + in-progress branch work
  • Fix two tutorial bugs: bank PIN and home-tile label wrapping
  • Untrack client/.gradle build artifacts (covered by .gitignore)
  • L.10: pre-release lint pass โ€” 52 errors + 125 warnings to zero
  • L.9: localize CaseRequest spinners + ColdOpen narrative
  • L.6: JA overlays for silicon_heist, prairie_vanishing, sky_king โ€” JA complete
  • L.6: JA overlays for the_gilded_promise + the_nightingale_deception
  • L.6: JA overlays for tutorial_case + the_empty_sleeve
  • L.3: full Japanese UI translation (values-ja/strings.xml)
  • L.5: KO overlay for the_sky_king_s_ransom โ€” KO case pass complete
  • L.5: KO overlay for the_silicon_prairie_vanishing
  • L.5: KO overlay for the_silicon_heist
  • L.5: KO overlay for the_nightingale_deception

Showing the 40 most recent of 92 logged changes.

Every line above is a real commit from this app's repository, on the date it was made. Build chores and merge commits are filtered out.