An evidence-based walking app that keeps everything on your device. No accounts, no ads, no data collection. Built on the science of why walking matters.
HealthSwift · HTMLGitHub @JarlLyngOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
A calm, private step & walking tracker for iPhone. On-device, no ads, no subscription. SwiftUI + HealthKit. Built on the ~7,000-steps science.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Every step counts.
A calm, private, evidence-based step & walking tracker for iPhone and Apple Watch. Walkful adds a meaningful motivation layer on top of Apple Health — and keeps everything on your device: no accounts, no servers, no ads, no data collection.Read the full README ↗Calm, private step tracker
Every step counts. Walkful reads the steps your iPhone and Apple Watch already record in Apple Health, and shows what the day's walking does for your health, measured against about 7,000 steps rather than the 10,000 myth. It's for anyone who wants to walk a little more at their own pace, with no leaderboards and no pressure. The app is free, widgets and gentle move reminders included, and Walkful Pro is a one-time unlock with no subscription that adds Insights, the interval-walking coach and CSV export. Your health data stays on your iPhone: there's no account, no server and no ads, and the App Store privacy label reads Data Not Collected.
The developer half: what's in the app, how to build and run it, how it is put together, how to contribute, and the license.
What's next is tracked in GitHub Issues.
Prerequisites: Xcode 26+ and XcodeGen (brew install xcodegen).
# 1. Generate the Xcode project (it is git-ignored; project.yml is the source of truth)
xcodegen generate
# 2. Open and run
open Walkful.xcodeproj
# (select an iPhone simulator or device, then Run)
# …or build from the command line:
xcodebuild -project Walkful.xcodeproj -scheme Walkful \
-destination 'generic/platform=iOS Simulator' build
The .xcodeproj is generated and git-ignored. Never edit it by hand: change project.yml and re-run xcodegen generate. Tests are the WalkfulTests target, run through the Walkful scheme. See CONTRIBUTING.md.
How the code is organised and how data flows is in ARCHITECTURE.md.
Principles:
| Language / UI | Swift 5 (language mode), SwiftUI |
| Min OS | iOS 18 |
| Health data | HealthKit (read-only) |
| Local storage | SwiftData |
| Notifications | UserNotifications (local only) |
| Background | BackgroundTasks (sedentary check) + App Group (widget sharing) |
| Widgets | WidgetKit (Home Screen + Lock Screen) |
| Monetization | StoreKit 2, one-time non-consumable ("Walkful Pro") |
| Diagnostics | MetricKit (Apple-native, no third-party SDK) |
| Design system | IAMJARLDesignTokens via SPM |
| Project generation | XcodeGen (project.yml) |
walkful/
├─ project.yml # XcodeGen project definition (source of truth)
├─ Walkful.storekit # Local StoreKit config (testing only)
├─ Walkful/ # App source
│ ├─ WalkfulApp.swift # @main, SwiftData container, MetricKit, BG task register
│ ├─ RootView.swift # RootContainer (routing) + RootView (tabs)
│ ├─ Core/
│ │ ├─ Health/ # HealthKitService
│ │ ├─ Persistence/ # AppSettings (@Model)
│ │ ├─ Notifications/ # NudgeScheduler + SedentaryMonitor (BackgroundTasks)
│ │ ├─ Store/ # Store (StoreKit 2, Walkful Pro)
│ │ ├─ Shared/ # SharedStore (App Group snapshot for the widget)
│ │ ├─ Diagnostics/ # MetricsSubscriber (MetricKit)
│ │ ├─ Theme/ # WalkfulTheme (IAMJARL tokens) + Components
│ │ └─ Formatters.swift
│ ├─ Features/ # Onboarding / Today / Insights / Coach / Paywall / Settings / Share
│ └─ Resources/ # Assets.xcassets (layered app icon)
├─ WalkfulWidget/ # WidgetKit extension (Home + Lock Screen)
├─ Tests/ # WalkfulTests unit tests (run via the Walkful scheme)
├─ appstore/ # App Store posters: raw captures, manifest, composed sets
├─ website/ # Marketing site (static, SEO/GEO)
├─ docs/ # Process docs (roadmap, release guide, device checklist)
├─ docs/history/ # Superseded pre-launch specs (Danish, June 2026)
├─ ci_scripts/ # Xcode Cloud post-clone (xcodegen + SwiftPM resolve)
├─ .github/ # CI workflow, Pages deploy, issue/PR templates
└─ ARCHITECTURE.md CONTRIBUTING.md CHANGELOG.md # Developer docs (English)
Generated and git-ignored: Walkful.xcodeproj, Walkful/Info.plist, WalkfulWidget/Info.plist. Run xcodegen generate after pulling.
Walkful collects nothing. Health data is read from Apple Health with explicit, granular permission, used only on the device, and never transmitted. See website/privacy.html.
Read CONTRIBUTING.md first. Bugs, feature requests and tasks are GitHub Issues on this repo, and the Code of Conduct applies. Found a vulnerability? Report it privately through SECURITY.md rather than in a public issue.