Timer da palestra per iPhone e Apple Watch con schede allenamento, frequenza cardiaca live, calcolo calorie e salvataggio automatico su Apple Salute. Funziona anche solo su iPhone, è localizzato in 5 lingue ed è 100% privacy first.
Imposta la durata di recupero per esercizio: il timer riparte automaticamente al termine di ogni serie e si arresta da solo quando arriva a zero, con suono e vibrazione finali.
Crea schede con elenco esercizi, numero di serie, ripetizioni target e tempo di recupero per ciascun esercizio. Ogni scheda è modificabile, riordinabile e duplicabile.
PulseX include schede pronte all'uso come Full Body, Upper Body e Lower Body: utili per partire subito o come base da personalizzare.
Avvia una scheda e PulseX ti guida esercizio per esercizio: vedi la serie corrente, le ripetizioni target e il recupero in corso, con avanzamento automatico al set successivo.
Con Apple Watch al polso, PulseX legge i BPM in tempo reale tramite HKLiveWorkoutBuilder e li mostra anche su iPhone via WatchConnectivity, con aggiornamenti continui durante tutta la sessione.
Le zone HR (Riscaldamento, Brucia grassi, Cardio, Anaerobica, Massima) vengono calcolate sulla tua frequenza massima stimata, con la data di nascita letta da Apple Salute.
Quando la HR è disponibile, PulseX stima l'energia attiva con la formula Keytel, parametrizzata su età e frequenza media: più precisa rispetto al solo MET.
Senza Apple Watch la HR non è disponibile: PulseX calcola le calorie con la formula MET (forza moderata, MET 5.0) basandosi sul peso corporeo letto da Apple Salute, evitando di lasciare a zero la sessione.
A sessione conclusa vedi durata totale, numero di serie e set completati, calorie stimate, frequenza cardiaca media e massima, distribuzione per zona e dettaglio esercizio per esercizio.
Ogni allenamento viene archiviato in locale con data, scheda usata, durata, calorie, BPM medi/massimi e dettaglio set. Apri lo storico per rivedere ogni singola sessione passata.
Allerta sonora e haptic alla fine del recupero, sia su iPhone (audio in background) sia su Apple Watch (haptic dedicato), per non dover guardare lo schermo durante l'esercizio.
Il timer continua a funzionare con app in background grazie alla Background Audio Mode: puoi ascoltare la tua playlist senza interrompere il conteggio del recupero.
Pannello unico per tema chiaro/scuro/automatico, lingua dell'app, peso corporeo (auto-letto da Salute), preferenze suoni e haptic, gestione schede e sincronizzazione con Apple Watch.
Tema chiaro, scuro o automatico e selezione della lingua tra Italiano, English, Français, Español e Deutsch, indipendentemente dalle impostazioni del dispositivo.
PulseX dialoga con HealthKit in modo trasparente: legge solo ciò che serve per stimare e scrive l'allenamento al termine della sessione.
Su Apple Watch, durante la sessione di forza, PulseX usa HKWorkoutSession + HKLiveWorkoutDataSource per ricevere i campioni HR in streaming dal sensore ottico.
Letta una sola volta tramite HKCharacteristicType(.dateOfBirth) per calcolare la frequenza cardiaca massima stimata (220 - età) e definire le zone HR. Nessun valore viene memorizzato fuori dall'app.
Il valore più recente di bodyMass viene letto via HKSampleQueryDescriptor, convertito in kg e usato per stimare le calorie con MET quando manca la HR.
A fine sessione PulseX salva un HKWorkout di tipo Traditional Strength Training con data di inizio, fine, durata e energia attiva stimata, in modo che compaia nello storico Apple Salute e contribuisca agli anelli Attività.
L'accesso ad Apple Salute è sempre opzionale: se rifiuti, PulseX continua a funzionare senza HR e senza scrittura. I permessi sono revocabili in qualsiasi momento da Salute → Condivisione dati → PulseX.
La scrittura su HealthKit avviene tramite Task.detached in fire-and-forget, cosí il termine sessione è istantaneo per l'utente e non blocca mai la UI.
PulseX vive su tre superfici Apple coordinate: iPhone, Apple Watch e widget/complications, sempre allineate via App Group locale.
Versione watchOS dedicata: avvia, metti in pausa o termina il timer dal polso, vedi BPM live, zona HR corrente e calorie stimate. Funziona in autonomia dopo la sincronizzazione iniziale, anche con iPhone in tasca.
Schede allenamento, impostazioni, profilo e stato del timer vengono trasmessi tra iPhone e Apple Watch via WatchConnectivity, con coalescing delle modifiche e nessun passaggio in cloud.
Widget WidgetKit in formato piccolo e medio per la schermata Home: mostra il timer di recupero in corso o l'ultima sessione completata, con tap per aprire direttamente la sessione attiva in PulseX.
Complicazioni in formato circolare, rettangolare e inline da aggiungere al quadrante: aprono PulseX al polso con un solo tocco, pronto per avviare la sessione.
App, widget e complications condividono lo stato tramite App Group sandbox locale: ciò che vedi nel widget è sempre coerente con l'app, senza chiamate di rete e senza duplicazione dati.
Schede e cronologia sono persistite in locale con codifica versionata: in caso di archivio danneggiato l'app si auto-ripristina avvisando l'utente, garantendo che PulseX si apra sempre.
Stack UI
SwiftUI 6.0
Architettura
MVVM + ObservableObject
Concurrency
Swift 6 strict, @MainActor
Target iOS
iOS 17.0+
Target watchOS
watchOS 10.0+
HealthKit Watch
HKLiveWorkoutBuilder
HealthKit iPhone
HKWorkoutBuilder (non-live)
Tipo workout
Traditional Strength Training (indoor)
Persistenza
100% locale, zero rete
Sincronizzazione
WatchConnectivity + App Group
Widget
WidgetKit (iOS + watchOS)
Background mode
audio (timer in background)
Lingua in-app
AppStorage + Environment Locale
Test framework
Swift Testing (#expect)
Build system
XcodeGen (project.yml)
Italiano
English
Français
Español
Deutsch
Schede, sessioni e dati restano solo sui tuoi dispositivi. Nessun dato è trasmesso a server esterni.
Nessun analytics, nessun SDK pubblicitario, nessun cookie di profilazione.
L'app funziona subito, senza registrazione e senza login: nessun ID utente viene mai creato.
Non serve connessione internet per allenarti, salvare sessioni o sincronizzare con Apple Watch.
L'accesso ad Apple Salute è opzionale e revocabile dalle impostazioni di sistema in qualsiasi momento.
App, widget e complications condividono dati solo all'interno di un App Group locale, protetto dal sandboxing iOS/watchOS.