BikeControl (SwiftControl)
Use Zwift Click, Zwift Play, Shimano Di2, or any Bluetooth controller with MyWhoosh, Rouvy, Zwift, and more. Free to try on iOS, Android, Windows, and macOS.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Cycling safety: a rear camera spots approaching cars and keeps bikers safe in Boston.
翻訳待ち
Loading the full README.
Read the full README ↗Whoosh is an iOS cycling-safety app built for the Hackachusetts hackathon. It records a cycling ride with GPS, shows the route on a map, and keeps ride history on-device — no account and no network required for the core flow. It's built with a modular architecture (service protocols + state machines) so camera-based hazard detection and haptic alerts can be added later without rework.
See .kiro/steering/product.md for the full product overview and MVP scope.
The committed Whoosh.xcodeproj is the source of truth — just open it:
open Whoosh.xcodeproj
Whoosh.xcodeproj is committed and can be opened directly. It was generated once from
project.yml with XcodeGen, which
documents the build settings in one place. Sources use Xcode's file-system-synchronized
groups, so any new .swift file dropped under Whoosh/ or WhooshTests/ is compiled
automatically — you do not need to regenerate the project to add files.
Regenerate only if you change settings in project.yml:
xcodegen generate
scripts/test.sh
This runs xcodebuild test for the Whoosh scheme. Override the simulator with
WHOOSH_TEST_DESTINATION if needed, e.g.:
WHOOSH_TEST_DESTINATION='platform=iOS Simulator,name=iPhone 15' scripts/test.sh
Opt-in Supabase sync (a stretch feature; the demo works fully offline) reads a Supabase URL
and anon key from a gitignored Config/Secrets.xcconfig. Copy the committed example and
fill in real values:
cp Config/Secrets.example.xcconfig Config/Secrets.xcconfig
Only the public anon key ships in the app. The service_role key must never appear in the
app or the repo.
Whoosh/ App sources (App/, Features/, Services/, Models/, Support/)
WhooshTests/ Swift Testing unit tests
Config/ xcconfig build settings (Shared.xcconfig, Secrets.example.xcconfig)
scripts/ test.sh, privacy-check.sh
project.yml XcodeGen spec (generator only; the .xcodeproj is committed)
.kiro/steering/.kiro/specs/ride-recording-mvp/.kiro/hooks/.kiro/team/