WristBeat: Haptyczny metronom na watchOS
Implementacja Core Haptics w SwiftUI
Natywna aplikacja na Apple Watch zaprojektowana jako ciche, wibracyjne narzędzie dla muzyków. Projekt skupiony na precyzji czasowej, wykorzystaniu silnika Taptic Engine oraz minimalizacji zużycia energii w środowisku watchOS.


O projekcie
Celem projektu było stworzenie metronomu, który eliminuje konieczność słuchania "klika", przenosząc rytm bezpośrednio na nadgarstek użytkownika. Wyzwanie polegało na osiągnięciu milisekundowej precyzji wibracji oraz zaprojektowaniu interfejsu w pełni zgodnego z Human Interface Guidelines dla małych ekranów.
Kluczowe funkcjonalności techniczne
Integracja Core Haptics
Zaawansowane wykorzystanie frameworka do generowania zróżnicowanych sygnałów haptycznych (różna intensywność dla akcentów i słabych części taktu).
Obsługa Digital Crown
Płynne sterowanie wartością BPM (30-240) z wykorzystaniem systemowego pokrętła, zapewniające naturalny UX znany z innych aplikacji systemowych.
Algorytm Tap Tempo
Logika obliczająca średnią z interwałów czasowych uderzeń użytkownika w celu precyzyjnego ustawienia tempa "na żywo".
Background Execution
Optymalizacja pracy w tle, umożliwiająca działanie metronomu nawet po wygaszeniu ekranu (wykorzystanie WKExtendedRuntimeSession).
Wyzwania i rozwiązania
Problem
Standardowe timery w watchOS mogą być nieprecyzyjne przy wygaszonym ekranie ze względu na oszczędzanie energii.
Rozwiązanie
Implementacja AVAudioSession w połączeniu z pętlą o wysokim priorytecie, aby utrzymać stabilność rytmu niezależnie od stanu urządzenia.