Practice Log n Share
September 2026
Overview
Log practice with one tap, then show the same screen to your teacher at a lesson. I planned and designed this iPhone app for my own saxophone practice and implemented it in collaboration with AI.


- Role
- Planning, UX/UI design, implementation (with Claude Code and Codex)
- Period
- September 2026
- Technology
- React · TypeScript; Swift (WKWebView, Live Activity, StoreKit, iCloud)
Try the web demo (includes my own practice records as of September 20, 2026)
Background — When asked “How has practice been going?”, I couldn't say
At my fortnightly lessons, saying “mostly scales” didn't convey what I had practiced or for how long. A paper journal was awkward to write in with a saxophone hanging from my neck, and the time-tracking apps I tried were tools for reviewing my records on my own.
Logging — With an instrument in hand, just one tap
During practice, I only touch the category cards. Tap to start timing, tap another card to switch, and tap the same card again to stop.

- 1 History
- Practice so far. The first thing you see on opening the app.
- 2 Today
- The order and balance of practice. Full at one hour.
- 3 Timing
- Only this card is bright, with a white outline.
- 4 Cards
- Tap to switch. Today's time is prominent.
One day — Once the bar is full, it stays full
Today's bar fills up at one hour. Beyond that, the current total becomes the right edge, so empty space never reappears in a bar that was already full.
Today's practice — 1 h 05 min
Chosen
Discarded
Accumulation — Everything, back to the first day
Shades of green show practice days, red outlines mark lessons, and horizontal scrolling reaches back to the first recorded day. I prioritized seeing years of practice over keeping rendering lightweight.

Evolution — Turning cards into a control panel for practice
I built the screens from a specification developed through dialogue with AI, then repeatedly tried and revised them myself. I explored how logging and sharing should work in an early web version before implementing an app for iPhone.
- Name and time, together
- I made today's time prominent on each card, linking what I practiced with how long I spent on it.
- The current state, at a glance
- I brightened only the card being timed and dimmed the others.
- Controls within the screen
- I made scrolling stop where a row of cards fits within the screen.
Toward the end, I repeated a cycle about 15 times: Claude Code identified potential issues, Codex checked and fixed them, and I decided which changes to accept.
Feel — Choosing how scrolling stops by trying it
I couldn't achieve a feeling of “moving smoothly and settling neatly” through verbal instructions alone. I built a tuning tool with AI to switch methods and values on the spot, tried five methods on a real device, and chose the browser's native snapping.
Hump model
Projected landing
Native proximity
Chosen
Native mandatory
No snapping

As a product — Beyond practice
The appearance follows the device's settings. Practice records are stored on the device and backed up automatically to iCloud.


In use — The next question: how much detail to record
I used the app for my morning practice and showed the screen to my teacher at a lesson. The feedback was that the content of my practice was clear at a glance, and that recording the types of scales would make it more useful (paraphrased). I'm considering a level below categories to capture more detail while keeping logging simple.
Materials
The web demo lets you try logging and sharing. It includes my own practice records as of September 20, 2026; any changes you make are saved only in the browser you're using.











