尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Native iOS + Android app for Snappet — workout tracking + HR-driven auto-highlight reels. Product brain: harshal2802/Snappet#60
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Native iOS + Android app for Snappet — a suite of small daily-utility mini-apps that share one on-device data layer to become a go-to daily app.
Flagship feature: workout-tracking + HR-driven auto-highlight reels — track a workout's heart rate (Apple Watch / Wear OS / BLE band), film however you like, and the app auto-finds the media you shot during the workout window and assembles a highlight reel ranked by heart-rate intensity, with minimal manual editing.
🔒 On-device only. No backend, no accounts, no network sync, no analytics. Health and media data never leave the device.
The iOS suite — a Home dashboard aggregating usage across mini-apps, an App Library, and the modules themselves (Workout reels · Pomodoro · Habits · Journal · Tip · Split Expenses · Budget). Captured on the iOS 26 simulator, themed with the Snappet Pulse design system (#30) — one warm Pulse-coral brand accent, curated per-module accents, a shared spacing/radius/type scale, and full dark mode.
| Home dashboard | App Library | Workout (onboarding) |
|---|---|---|
| Pomodoro | Habits | Journal |
|---|---|---|
| Tip Calculator | Split Expenses | Budget |
|---|---|---|
Live Workout Capture + Video Studio — the WorkoutTracker turned into a live, instrumented, media-rich workout: a live player (overall timer + live-HR overlay), an enriched HR summary (chart + time-in-zone) and a heart-rate source picker (Apple Watch / BLE band).
| Workout dashboard | Routines | Routine detail |
|---|---|---|
| Live player (timer + HR overlay) | History | HR summary (chart + zones) |
|---|---|---|
| Workout settings | HR source picker (auto-detect · Saved band) | |
|---|---|---|
Snappet Pulse renders from the same tokens in both appearances — warm near-black surfaces with the same coral brand accent and per-module hues. Same screens as above, in dark.
| Home dashboard | App Library | Workout (onboarding) |
|---|---|---|
| Pomodoro | Habits | Journal |
|---|---|---|
| Tip Calculator | Split Expenses | Budget |
|---|---|---|
| Workout dashboard | Routines | Routine detail |
|---|---|---|
| Live player (timer + HR overlay) | History | HR summary (chart + zones) |
|---|---|---|
| Workout settings | HR source picker (auto-detect · Saved band) | |
|---|---|---|
A guided walkthrough of the Live Workout Capture + Video Studio initiative (A1–B5), in story order — suite home → routines → the live player → the enriched HR summary → media + highlight → the HR source picker.
If the embedded player doesn't load, download / open the walkthrough video directly.
Explore the whole app as a searchable, interactive knowledge graph — every screen, sheet, service, engine component and data model, wired by the navigation and data flows that connect them. Three layouts, fuzzy search, workflow path-tracing, filters and deep-links; no build step, fully offline.
▶︎ Open the interactive map
(GitHub Pages) · or open docs/knowledge-graph/index.html locally · source &
docs in docs/knowledge-graph/.
Enabling Pages: Settings → Pages → Deploy from a branch →
main//docs. The site is plain static HTML/JS (a.nojekyllfile makes Pages serve it verbatim).
🟢 The Snappet daily-app suite builds and runs on the iOS simulator (Swift 6 / SwiftUI) and the Android 15 emulator (Kotlin / Jetpack Compose). A tabbed/bottom-nav shell — Home dashboard + App Library — sits over a shared on-device store (Snappet Core), with the mini-app modules wired in: Workout Reels (flagship), Workout Tracker, Pomodoro, Habits, Journal, Tip, Split Expenses, and Budget.
The HighlightEngine algorithm core passes its full XCTest suite (swift test); every non-device
module has a matching UI test (XCUITest on iOS, instrumented Compose tests on Android).
🟡 Still unproven: the make-or-break premise — does a user's own HR pick the highlights they
prefer? — is validated by the Phase-0 spikes (synthetic verdict so far: NEEDS-REAL-DATA), and the
flagship Workout Reels pipeline (HealthKit / Photos / AVFoundation, and the Android Health Connect /
Wear OS / Media3 equivalent) is device-only and not yet validated on physical hardware. See the
iOS device runbook and the current-state writeup in
pdd/context/project.md.
A root Makefile wraps every common build/test/release verb for both platforms — run
make help to see them (e.g. make ios-sim, make android-debug, make test, make release).
The raw commands below are what those targets run under the hood.
The Xcode project is generated from ios/App/project.yml via
XcodeGen (no .pbxproj churn in git).
# Generate the project
cd ios/App && xcodegen generate # → Snappet.xcodeproj
open Snappet.xcodeproj # build & run on the iOS 18+ simulator
# The algorithm core is a standalone SPM package — no Xcode, simulator, or device needed:
cd ios/HighlightEngine && swift test # run the HighlightEngine unit tests
The flagship reel pipeline (HealthKit, Photos, AVFoundation) and the watchOS live-HR companion need a
physical iPhone + paired Apple Watch — follow ios/App/RUNBOOK-device.md.
See ios/README.md for the iOS target overview.
cd android
export JAVA_HOME=/path/to/jdk-17
export ANDROID_HOME=/path/to/android-sdk
./gradlew :app:assembleDebug # build the debug APK
adb install -r app/build/outputs/apk/debug/app-debug.apk && \
adb shell am start -n com.snappet.mobile/.MainActivity # install + launch on the emulator
./gradlew :app:connectedDebugAndroidTest # instrumented Compose UI tests
Toolchain: AGP 8.7.3 · Gradle 8.11.1 · Kotlin 2.0.21 · compileSdk 35 · minSdk 26. See
android/README.md for the full module list and emulator-AVD setup.
Throwaway Python harnesses (stdlib only, seeded) whose deliverable is a decision — see
experiments/README.md. Each spike's RESULTS.md ends in an explicit
GO / NO-GO / NEEDS-REAL-DATA verdict.
python3 experiments/hr-highlight-efficacy/run.py # the make-or-break spike
ios/ iOS-first: Swift/SwiftUI app + watchOS companion (HealthKit, AVFoundation)
HighlightEngine/ pure-Swift SPM package — the selection algorithm, ZERO platform deps
App/ the SwiftUI app, watchOS companion, and widgets (XcodeGen project)
android/ Android: Kotlin / Jetpack Compose (Health Connect, Wear OS, Media3)
experiments/ throwaway Phase-0 spikes (HR-highlight efficacy, media↔HR time-sync, feedback replay)
docs/ screenshots, TestFlight + OTA-release notes
pdd/ Prompt-Driven Development layer — context, prompts, and the roadmap
The core architectural rule: HighlightEngine stays platform-free (no HealthKit / AVFoundation /
Photos / UIKit / SwiftUI imports). Platform I/O lives in ios/App/Snappet/Services/, and the engine
meets the app in exactly one place (AppModel) so the selection algorithm is swappable and tunable in
one spot. Details in pdd/context/conventions.md.
This is the native companion to the web hub at
harshal2802/Snappet. It is a separate repo on purpose
(different release lifecycle, toolchain, and risk profile — see the rationale in the web repo's
pdd/context/decisions.md, 2026-05-30 entry). The web repo is the product brain:
| What | Where |
|---|---|
| Deep research (feasibility + UX) | Snappet#60 |
| Initiative plan & prompt chain | pdd/prompts/features/native-mobile/PLAN-snappet-mobile.md (web repo) |
| Snappet Core shared data-schema spec | pdd/context/snappet-core-schema.md (web repo) |
The schema is copied/generated into this repo per platform when implementation starts — it is not a runtime import. When the schema changes, it changes in the web repo first.
This repo uses Prompt-Driven Development. The implementation context and the prompt chain that
drives the code live in pdd/ — start at pdd/context/project.md
for the reality-based current state, and
pdd/prompts/features/PLAN-ios-to-shippable.md for
the v0.1 → shippable roadmap. The web repo stays the product brain; pdd/ owns platform specifics.
See CONTRIBUTING.md for the development workflow, coding conventions, the platform-free engine rule, how to add a mini-app to the suite, testing requirements, and commit/PR conventions.
Released under the MIT License.