Takafumi Horiuchi

Practice Log n Share

An app for logging and sharing everyday music practice

Log screen. A practice-history grid sits above a bar showing today’s total of 54 minutes and the category cards. The timer for “Piece practice” has passed 27 minutes, and its card is highlighted with a brighter color and a white outline. Share screen. A summary from the September 17 lesson through September 24 shows 4 hours and 38 minutes of practice, bars for each category, and a daily table with all categories visible without horizontal scrolling.
The app has two screens. Try them in the web demo.

1. Overview

An iPhone app for logging practice time with one tap while holding an instrument, then showing the record to a teacher during a lesson. The Log and Share screens connect everyday practice with conversations in lessons.

I defined the problem, designed the UX and UI, refined the interactions on an iPhone, implemented the app, and prepared the project materials. I collaborated with AI on implementation and made the final decisions about the screens and interactions myself.

I used the app in my own practice and lessons. My teacher said it was easy to see what I had practiced and asked for more detailed records (paraphrased).

2. Background and challenges

I play tenor saxophone as a hobby and take lessons every other week. When my teacher asked how practice was going, I had no concrete way to show what I had practiced or for how long.

With the saxophone hanging from a neck strap, writing on paper during practice is awkward. As the pages of a practice journal pile up, the records become scattered.

Trying to write on paper while a saxophone hangs from a neck strap. Loose pages of practice notes pile up, making records difficult to find.
Writing while holding an instrument is awkwardPractice records become scattered across more pages

The time-tracking apps I tried could start timing with one tap. The challenge was turning those records into something my teacher could understand at a glance.

3. Design principles

I wanted logging during practice and sharing at a lesson to be one continuous process. Two requirements guided the screen layouts and interactions.

Keep logging simple during practice

Log practice time with one tap on a category while holding the instrument.

Avoid editing before a lesson

Automatically organize the records so I can show what I practiced and for how long, without editing them first.

4. Features and design

Combine controls and practice time in one card

Tap a category card to start timing, another card to switch categories, or the same card again to stop. Each card prominently displays today’s practice time for that category and becomes brighter with a white outline only while its timer is running. The controls and recording status are in the same place.

Log screen. A practice-history grid sits above a bar showing today’s total of 54 minutes and the category cards. The timer for “Piece practice” has passed 27 minutes, and its card is highlighted with a brighter color and a white outline.
“Piece practice” is being timed.
The category, today’s practice time, and timer status are visible on the same card.

See the practice breakdown without scrolling sideways

The app automatically summarizes practice since the previous lesson, so there is no need to edit the records before sharing them. In the daily table, I prioritized showing every category at once, even at the cost of smaller text. This lets me show the screen to my teacher and discuss how I divide my practice time.

Share screen. A summary from the September 17 lesson through September 24 shows 4 hours and 38 minutes of practice, bars for each category, and a daily table with all categories visible without horizontal scrolling.
The period, total practice time, category breakdown, and daily details on one screen.

Make accumulated practice a reason to keep going

I made it possible to see both today’s progress and the practice built up over months and years. I also hope that showing my teacher the effort I have put in will help motivate me to keep practicing.

Daily view: fill the bar, using one hour as a guide

The bar for today’s practice initially runs from zero to one hour. It stacks the time spent in each category in a different color. I hoped that filling the bar would give me a reason to keep practicing.

An example showing 40 minutes of practice. Colors represent practice categories. The records are fictional.

Long-term view: green cells show daily progress

Each cell represents one day, with shades of green indicating how long I practiced. The grid makes it easy to see practice building up over months and years. I wanted the growing record to encourage me to keep practicing.

Each cell represents one day; red outlines mark milestones. The rightmost column is partially filled, with later days not yet recorded. Fictional example.

5. Development process

Define the roles of logging and sharing through research

I used ChatGPT to research existing apps and clarify the problem and approach. In the research I did at the time, I found time-tracking apps but no sharing feature suited to communicating with my teacher. I developed the concept through that conversation, wrote a specification, and gave it to Codex to implement the first version.

Refine the first version to keep the controls in view

I tried the AI-generated first version myself and requested changes to the UI and UX. I brought the timing information and stop control, previously displayed separately, into the category cards and made today’s practice time more prominent. I also explored layouts that kept the entire control panel visible on the screen.

Initial version on September 9. Six small category cards and today's total of 40 minutes occupy separate areas of the Log screen.

Initial version

Revised version on September 21. Each large card shows a category and today’s practice time. The active score-reading timer shows 10 minutes and is highlighted.

Revised version

Both versions show the same fictional data: six categories and 40 minutes of practice today.
The revised version brings the timing information and stop control into the category cards.

I used a black background for a screen that stays open during practice, with category colors intended to give it a cheerful feel.

Compare the feel of scrolling before choosing an approach

Words and images alone were not enough to achieve the feeling I wanted: smooth movement that settles firmly into place. I built a tuning tool with AI so I could test different scrolling methods and parameter values myself. On an iPhone, I compared where scrolling came to rest, looking for a position that kept the entire control panel visible. I chose the browser’s native scroll snapping and used it in the app.

Scroll-tuning tool. Controls for five snapping methods and their parameters sit beside a phone preview used to test the scrolling behavior.
I changed the scrolling methods and parameters to compare how they came to rest on an iPhone.

Use independent reviews and decide what to adopt

I repeated a review cycle using two independent AI sessions. I checked the issues and improvements suggested by Claude Code, then had Codex verify them and apply the necessary fixes. Some suggestions moved away from the UI and UX I wanted, so I decided what to adopt based on the app’s purpose and how it felt to use.

I repeated this process about 15 times. When the AI reviews no longer identified major defects, I took that as one reason to conclude this round of improvements.

6. Experience and next steps

Opening the app became part of starting practice

I installed the app on my iPhone and used it in my daily practice to check how easy it was to log time with one tap while holding the instrument. Opening it at the start of practice became a positive habit. Reviewing the order of activities and how I divided my time, while keeping the next lesson date in mind, helps me plan my practice.

My teacher asked for more detailed records

My teacher said it was easy to see what I had practiced and that recording the types of scales would make the app more useful (paraphrased). These observations come from my own practice and lessons with my teacher.

Next: more detail while keeping logging simple

I am considering subcategories such as “Pentatonic scales” under “Scales,” while exploring how to keep logging simple. For the Share screen, I am also considering a hierarchy of categories and subcategories in place of the daily table.