Takafumi Horiuchi

Practice Log n Share

Resumen

Registrar la práctica con un toque y mostrar la misma pantalla al profesor en clase. Ideé y diseñé esta app para iPhone para mi propia práctica de saxofón, y la implementé en colaboración con IA.

Pantalla de registro. Una cuadrícula del historial encabeza la barra de hoy (54 minutos en total) y las tarjetas de categorías. La práctica de piezas lleva más de 27 minutos en curso, resaltada con un color más claro y un contorno blanco. Pantalla para compartir. Del día de la clase, el 17 de septiembre, al 24: 4 horas y 38 minutos en total, barras por categoría y una tabla diaria con todas las categorías sin desplazamiento horizontal.
Registro a la izquierda, compartir a la derecha. Un toque en una categoría inicia el cronómetro; en clase se muestra el resumen de la práctica entre clases. Las pantallas usan datos ficticios ilustrativos. Las capturas muestran la interfaz original en japonés.
Mi papel
Planificación, diseño UX/UI e implementación (con Claude Code y Codex)
Periodo
Septiembre de 2026
Tecnología
React · TypeScript; Swift (WKWebView, Live Activity, StoreKit, iCloud)

Origen — «¿Cómo va la práctica?»: no sabía responder

En mis clases quincenales, responder «sobre todo escalas» no explicaba qué había practicado ni cuánto. Escribir un diario en papel con el saxofón colgado del cuello resultaba incómodo, y las apps de registro de tiempo que probé estaban pensadas para revisar los datos a solas.

Entre dos fechas de clase se alternan barras de días de práctica y días de descanso. Al reunir los tiempos diarios por categoría en una sola barra inferior, suman 10 horas y 06 minutos.
Las barras superiores muestran la práctica diaria; los marcos rojos señalan las clases. En clase muestro el resumen del intervalo. Las fechas y los tiempos son ficticios; las barras de arriba y abajo suman lo mismo.

Registro — Con el instrumento en las manos, un solo toque

Durante la práctica solo toco las tarjetas de categorías. Un toque inicia el cronómetro, otra tarjeta cambia de categoría y un segundo toque en la misma lo detiene.

Pantalla de registro. Una cuadrícula del historial encabeza la barra de hoy (54 minutos en total) y las tarjetas de categorías. La práctica de piezas lleva más de 27 minutos en curso, resaltada con un color más claro y un contorno blanco.
1 Historial
La práctica acumulada. Lo primero que aparece al abrir la app.
2 Hoy
El orden y el reparto de la práctica. Se llena en una hora.
3 En curso
Solo esta tarjeta se ilumina, con un contorno blanco.
4 Tarjetas
Un toque para cambiar. El tiempo de hoy, destacado.

Un día — Una vez llena, la barra sigue llena

La barra de hoy se llena al llegar a una hora. Después, el total actual define el extremo derecho, para que no reaparezca un hueco en una barra que ya estaba llena.

Práctica de hoy — 1 h 05 min

Elegida

Descartada

Comparación con 65 minutos de práctica. Arriba, el diseño elegido sitúa el total en el extremo derecho, con una escala mínima de una hora. Abajo, el descartado amplía la escala de 60 a 90 y a 120 minutos. Al superar una hora, solo la barra inferior vuelve a mostrar un hueco.

Acumulación — Todo a la vista, desde el primer día

La intensidad del verde indica la práctica y los marcos rojos, las clases. El desplazamiento horizontal permite volver al primer día registrado. Prioricé poder consultar años de práctica frente a aligerar el renderizado.

Cuadrícula del historial. La intensidad del verde representa la práctica de junio a septiembre; los marcos rojos señalan las clases quincenales.
Cinco niveles: 0 minutos, menos de 30, menos de 60, menos de 90 y 90 o más. Al abrir la app, esta práctica acumulada es lo primero que se ve.

Compartir — Al empezar la clase, una pantalla que se entiende de un vistazo

Los totales por categoría y el desglose diario resumen desde la última clase hasta hoy, listos para mostrarlos al profesor. La tabla diaria reúne todas las categorías en una pantalla, incluso reduciendo la letra, para evitar el desplazamiento horizontal.

Evolución — Las tarjetas como panel de control de la práctica

Construí las pantallas a partir de una especificación elaborada conversando con IA, y repetí el proceso de probarlas y corregirlas. Exploré el registro y la puesta en común en una versión web inicial antes de implementar la app para iPhone.

Versión inicial del 9 de septiembre. Seis tarjetas pequeñas y el total de hoy, 40 minutos, ocupan zonas separadas de la pantalla de registro.

9 de septiembre
Versión inicial

Versión web del 21 de septiembre. Categoría y tiempo de hoy comparten una tarjeta grande; los 10 minutos de lectura de partitura en curso aparecen resaltados.

21 de septiembre
Versión web

Pantalla de registro. Una cuadrícula del historial encabeza la barra de hoy (54 minutos en total) y las tarjetas de categorías. La práctica de piezas lleva más de 27 minutos en curso, resaltada con un color más claro y un contorno blanco.

24 de septiembre
iOS 1.0

Las versiones inicial y web usan los mismos datos ficticios (seis categorías, 40 minutos hoy). iOS 1.0 usa otros datos ficticios.
Nombre y tiempo, juntos
Destaqué el tiempo de hoy en cada tarjeta para vincular qué practiqué con cuánto tiempo le dediqué.
El estado actual, de un vistazo
Iluminé solo la tarjeta en curso y atenué las demás.
Los controles, dentro de la pantalla
Hice que el desplazamiento se detuviera donde una fila de tarjetas cabe en la pantalla.

Al final repetí unas 15 veces un ciclo: Claude Code planteaba posibles problemas, Codex los verificaba y corregía, y yo decidía qué cambios aceptar.

Sensaciones — Elegir cómo se detiene probándolo

No conseguía que se moviera con fluidez y se asentara con precisión solo con instrucciones verbales. Creé con IA una herramienta para cambiar métodos y valores al instante, comparé cinco métodos en un dispositivo real y elegí el ajuste de desplazamiento nativo del navegador.

Modelo de joroba

Cinco gestos en un dispositivo real con Modelo de joroba. Eje horizontal: 0–1200 milisegundos tras levantar el dedo; eje vertical: distancia a la posición de ajuste. El cero punteado marca esa posición; el punto final de cada línea es la última posición medida.

Destino proyectado

Cinco gestos en un dispositivo real con Destino proyectado. Eje horizontal: 0–1200 milisegundos tras levantar el dedo; eje vertical: distancia a la posición de ajuste. El cero punteado marca esa posición; el punto final de cada línea es la última posición medida.

Nativo proximity
Elegida

Cinco gestos en un dispositivo real con Nativo proximity. Eje horizontal: 0–1200 milisegundos tras levantar el dedo; eje vertical: distancia a la posición de ajuste. El cero punteado marca esa posición; el punto final de cada línea es la última posición medida.

Nativo mandatory

Cinco gestos en un dispositivo real con Nativo mandatory. Eje horizontal: 0–1200 milisegundos tras levantar el dedo; eje vertical: distancia a la posición de ajuste. El cero punteado marca esa posición; el punto final de cada línea es la última posición medida.

Sin ajuste

Cinco gestos en un dispositivo real con Sin ajuste. Eje horizontal: 0–1200 milisegundos tras levantar el dedo; eje vertical: distancia a la posición de ajuste. El cero punteado marca esa posición; el punto final de cada línea es la última posición medida.
Posiciones tras levantar el dedo, comparadas a la misma escala. El cero punteado es la posición de ajuste. De los registros del dispositivo seleccioné cinco gestos por método a velocidades de 0,6–1,8 px/ms, calculadas con las posiciones de los 60 ms anteriores, priorizando los más cercanos a 1,2 px/ms. Los ajustes, puntos de partida y direcciones varían entre gestos.
Herramienta de ajuste del desplazamiento. Opciones para alternar entre cinco métodos y sus parámetros, junto a una pantalla de teléfono para probar la interacción.
Comparé cómo se detenía el desplazamiento en un dispositivo real mientras registraba distancia y velocidad. Abre la imagen para ampliarla.

Como producto — Más allá de la práctica

La apariencia sigue los ajustes del dispositivo. Los registros se guardan en el dispositivo y se respaldan automáticamente en iCloud.

Modo claro. Pantalla de registro. Una cuadrícula del historial encabeza la barra de hoy (54 minutos en total) y las tarjetas de categorías. La práctica de piezas lleva más de 27 minutos en curso, resaltada con un color más claro y un contorno blanco.Modo oscuro. Pantalla de registro. Una cuadrícula del historial encabeza la barra de hoy (54 minutos en total) y las tarjetas de categorías. La práctica de piezas lleva más de 27 minutos en curso, resaltada con un color más claro y un contorno blanco.
La misma pantalla de registro en modo claro y oscuro.
109 iconos temáticos para elegir según la práctica, ordenados en instrumentos, ejercicio, aprendizaje, pintura, artesanía y expresión.
El icono de la cabecera se elige según la práctica: 47 de música, 15 de ejercicio, 15 de idiomas y aprendizaje, 11 de arte, 14 de creación y vida cotidiana, y 7 de expresión. El saxofón se basa en Qlementine Icons (licencia MIT).

Al usarla — La siguiente pregunta: cuánto detalle registrar

Usé la app en mi práctica matutina y enseñé la pantalla a mi profesor en clase. Su respuesta fue que el contenido se entendía de un vistazo y que registrar los tipos de escalas la haría aún más útil (paráfrasis). Estoy considerando un nivel por debajo de las categorías para añadir detalle sin perder sencillez.

Materiales

La demo web permite probar el registro y la puesta en común. Incluye mis registros de práctica hasta el 20 de septiembre de 2026; los cambios se guardan solo en el navegador que estás usando.

  1. Diapositiva 1. Portada: desarrollo de una app para registrar la práctica y compartirla con el profesor. Takafumi Horiuchi.
  2. Diapositiva 2. Resumen: Log para registrar y Share para mostrar la práctica al profesor. Papel, periodo y herramientas.
  3. Diapositiva 3. Contexto: comunicar con precisión la práctica de saxofón al profesor. Dificultades con el diario en papel y las apps existentes.
  4. Diapositiva 4. Enfoque: registro con un toque y visualización inmediata. La práctica acumulada a dos escalas: un día y meses o años.
  5. Diapositiva 5. Cuatro usos de IA: investigación, implementación inicial, herramienta para ajustar la interacción y optimización.
  6. Diapositiva 6. Colaboración con IA: investigar apps existentes y concretar el concepto mediante diálogo.
  7. Diapositiva 7. Implementación inicial: comparación de V0 generada por IA con V1, revisada mediante comentarios sobre composición y color.
  8. Diapositiva 8. Ajuste de la interacción: una herramienta creada con IA para comparar personalmente velocidad y detención del desplazamiento.
  9. Diapositiva 9. Optimización: posibles problemas propuestos por Claude Code, verificación y corrección por Codex y decisiones humanas, de forma iterativa.
  10. Diapositiva 10. Resultados y próximos pasos: uso propio, comentarios del profesor y posibles subcategorías para registros más detallados.
Desplázate horizontalmente para pasar las diapositivas. Pulsa para ampliar. Los originales están en japonés.

Abrir los materiales en PDF (japonés, 4,4 MB)