Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

HIIT Timer

Version 1.0 — First usable release

A personal interval workout timer for iPhone, built with SwiftUI.

Goal: start fast, few steps, works offline. Not a social fitness platform.

This is a daily-driver MVP you can use for real workouts — not just a prototype.

Features (v1.0)

  • Large countdown with WORK / REST phase and current round
  • Configurable settings:
    • WORK: 5–300 seconds (default 20)
    • REST: 5–300 seconds (default 10)
    • ROUNDS: 1–99 (default 8)
  • Estimated Time shown before you start (includes every WORK; REST only between rounds)
  • Voice cues:
    • WORK starts → “Start”
    • REST starts → “Rest”
    • Workout complete → “Congratulations!”
  • Beeps at 3 / 2 / 1 seconds
  • Completion summary: Workout Time, Total Time, and completed rounds
  • Settings live on a separate screen so the timer stays uncluttered

Not in scope (for later versions)

  • Accounts / cloud sync
  • Apple Watch
  • Persistent workout history
  • Background / lock-screen timing
  • Social features, nutrition, or course marketplaces

Tech

Area Choice
UI SwiftUI
State @Observable
Audio AVFoundation (bundled .wav files)
Minimum OS iOS 17
Device iPhone

Project structure

HIITTimer/
  HIITTimerApp.swift      # App entry
  ContentView.swift       # Main timer + completion summary
  SettingsView.swift      # WORK / REST / ROUNDS
  TabataTimer.swift       # Timer state machine + stats
  WorkoutAudio.swift      # Sound playback
  Sounds/                 # Voice and cue audio
  Assets.xcassets/
HIIT Timer.xcodeproj/

Run in Xcode

  1. Open HIIT Timer.xcodeproj
  2. Choose an iPhone simulator or device
  3. Press Run

If the iOS Simulator runtime is missing:

xcodebuild -downloadPlatform iOS

Estimated Time formula

estimatedTotalSeconds =
  workDuration × rounds +
  restDuration × (rounds − 1)

REST after the final round is not included in the estimate.

License

No formal open-source license yet.

Built as a personal learning / portfolio project for my own use. A license (for example MIT) can be added later if redistribution terms become useful.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages