← All projects

Live Memory

An iOS app that turns a few seconds of any video into a genuine motion-enabled Live Photo Lock Screen wallpaper.

Role
Product owner, UX/UI designer, technical director
Year
2026
Topics
Mobile app, AI & prototyping, Product design

Tools

  • Figma
  • Claude Code
  • Xcode
  • Vercel
Live Memory

Live Memory is built specifically to satisfy iOS’s undocumented requirements for the Lock Screen’s “Motion” toggle, not just to produce a Live Photo file. I defined the product, the pricing and the architecture, debugged on physical devices and handled the App Store submission. Implementation was done with Claude Code under my direction.

Status: submitted for App Store review and awaiting Apple’s decision, so not yet public. It is already in daily use by a small group of beta users, with an early waitlist ahead of launch.

Tech: SwiftUI, AVFoundation, PhotoKit and StoreKit 2. The marketing site is hand-written HTML, CSS and JS, deployed on Vercel.

Live Memory: bring your memories to life

The challenge

A static Lock Screen is static. Live Memory lets iPhone owners turn a real video moment into one that actually animates on wake. That sounds like a file conversion, but it isn’t: a generated Live Photo can look valid in Photos and still be silently rejected by the Lock Screen’s own motion check, for reasons Apple doesn’t document.

Live Memory wallpapers on the Lock Screen and the moment picker

My approach

  • Privacy by default. Conversion runs entirely on-device, with no account or server. That is simpler for users and removes a whole category of things to secure.
  • Evidence over guessing. When the platform’s rejection reason wasn’t documented, I didn’t patch around the symptom. I ran controlled experiments to find the real cause.
  • Intentional monetization. Three free creations, then weekly or yearly subscriptions. I walked back an early “~90% off” framing for a more credible 80% badge, because the first would read as too good to be true.
  • Scope discipline. I built a custom launch animation, then cut it once the plain system launch proved fast enough. Work that stopped earning its place didn’t stay.

Key challenges

1. The undocumented wallpaper-motion rejection

A generated Live Photo showed the LIVE badge in Photos, but the Lock Screen editor rejected it as “Motion Not Available”. I extracted and compared the metadata structure of a real camera-generated Live Photo against mine, then ran several rounds of controlled, single-variable tests on a physical iPhone: audio presence, container structure, encoding, still-image resolution and format, one at a time.

The testing isolated the cause: the geometric alignment between the still image and the video’s declared transform metadata, not resolution, codec or audio, which I had initially suspected. It was confirmed working end to end on device after the fix.

2. App Store compliance

The first submission was rejected for a missing, functional Terms of Use link in the product page metadata. I root-caused it against Apple’s rejection text, fixed it and resubmitted the same day. I turned this, together with the rejection history of another app, into a reusable pre-submission checklist so the same mistakes don’t recur.

3. The marketing site

I translated a Framer design reference into a hand-written, framework-free site with no starting template, including reimplementing interaction details like a drag-and-inertia carousel from scratch. It is live in production on its own domain.

Live Memory video picker and the Select moment screen

Beta feedback

Before I submitted the app to App Review, a small group of beta users used it in their daily routine, and their feedback was positive. It is an early signal from a small group, ahead of the public launch.

Outcomes

Verified

  • Live Photo wallpaper motion works end to end on a physical iPhone.
  • The marketing site is live, subscription products are configured in App Store Connect, and the App Preview video assets are validated against Apple’s technical spec.
  • The first review rejection was fixed and the app resubmitted the same day.