For React Native / Expo developers

Health Stack

The foundation for HealthKit Expo apps.

A production Expo boilerplate for Apple HealthKit — RevenueCat, charts, widgets, and watchOS already wired.

Expo SDK 55 · HealthKit · RevenueCat · Widgets · watchOS · Dynamic Island · Apple Intelligence

Typed HealthKit without the archaeology

Permissions, fetchers, and daily aggregations — ready to call from your screens.

const today = useHealthStore((s) => s.today());
// today.steps · today.sleepHours · today.restingHeartRate · today.waterMl

What you get instantly

The boring infrastructure of a health app — already stacked and ready to ship.

HealthKit spine

Permissions, typed fetchers, daily aggregations, workout + water writes — the same patterns behind shipping apps.

Dashboard & charts

Onboarding, metric cards, gauges, sparklines, and trend views wired to real HealthKit summaries.

Monetization

RevenueCat lifetime unlocks, paywall, restore, and Pro gating examples you can remap to your own features.

Companion adds

Extend Core across the rest of the Apple surface:

  • Home widgets + Dynamic Island
  • watchOS companion + complications
  • On-device Apple Intelligence

Production-shaped, not tutorial-shaped

Extracted from apps that already talk to HealthKit, widgets, and watches in the wild.

Health integrations that don’t fight Expo

Built on @kingstinct/react-native-healthkit with the permission choreography and write auth flows already solved.

  • Stepsread
  • Sleepread
  • Resting HRread
  • Waterread + write
  • Workoutswrite
  • Energy / distancewrite

Patterns proven in real apps

The boilerplate is distilled from production HealthKit products — not a toy sample.

Powered by the stack you already wanted

Modern Expo — without the six weekends of entitlement archaeology.

Expo 55 React Native TypeScript HealthKit Zustand RevenueCat expo-widgets watchOS Apple Intelligence

Rolling your own vs launching on Health Stack

HealthKit is where “hello world” becomes a week of Info.plist and silent failures.

Without Health Stack

  • Entitlements, usage strings, and permission UX from scratch
  • Fetcher/aggregator edge cases (sleep stages, empty days)
  • Workout writes that never hit Activity rings
  • Widget + Watch + Island as three separate rabbit holes
  • Paywall bolted on after the MVP already shipped broken

With Health Stack

  • ~30 minutes to rename, prebuild, and see live Health data
  • Read + write paths with an example dashboard
  • RevenueCat wired with a real Pro gate
  • Companion tier: widgets, Island, Watch, on-device AI
  • Lifetime updates to the boilerplate lineage

One-time. Unlimited apps. No rent.

Pick the depth of Apple surface you need. Upgrade later if Companion calls.

Core

$99

Basic package — the foundation

+ local taxes / VAT if applicable

  • Expo 55 + HealthKit + custom dev client
  • Permissions, fetchers, daily summaries
  • Workout & water write examples
  • Zustand stores + chart kit
  • Onboarding, dashboard, log, settings
  • RevenueCat paywall + Pro gating
  • Lifetime code updates
Core vs Companion
Included Core Companion
HealthKit read / write
Charts + onboarding
RevenueCat paywall
Home widgets
Live Activities / Dynamic Island
watchOS companion
On-device Apple Intelligence
App Groups + desk-worker companion stack

Start with Core. If you upgrade to Companion later, you only pay the $100 difference — email radek@jozefowicz.dev with your Core receipt.

Unlimited commercial apps. No resale of the boilerplate itself. Agency / studio shipping many client apps? Email for a bulk license. Prices shown in USD before tax — Stripe may add local taxes or VAT at checkout where required.

Frequently asked questions

Have a question? Email radek@jozefowicz.dev for quick support.

Not for: drag-and-drop app builders, Expo Go-only workflows, or anyone unwilling to run a native iOS build.

What do I get exactly?

Core ($99) — the HealthKit Expo foundation:

  1. Complete Expo project — Expo SDK 55, React Native, TypeScript. Custom dev client with HealthKit plugin + usage strings.
  2. HealthKit spine — progressive permissions, typed fetchers, daily aggregations, workout + water writes that show up in Activity rings.
  3. App shell — onboarding, dashboard, metric detail, log, settings, gauges / sparklines / trend charts.
  4. Monetization — RevenueCat lifetime unlocks, paywall UI, restore, and Pro gating examples you can remap.
  5. State — Zustand stores with cache TTL and coalesced fetches.
  6. Docs + lifetime updates — README, config checklist, and ongoing boilerplate lineage updates.

Companion ($199) — everything in Core, plus:

  1. iOS home-screen widgets
  2. Dynamic Island / Live Activities
  3. watchOS companion + complications
  4. On-device Apple Intelligence insights (no third-party AI keys)
  5. App Groups + DeskWalker-style bridge patterns
  6. Companion docs & verify checklists

See the comparison table for a side-by-side.

How do I get GitHub access?

After checkout, email radek@jozefowicz.dev with the address you used to pay and your GitHub username. Private repo access is granted within 8 hours.

How long does it take to set up?

About ~30 minutes to rename the bundle id, prebuild, and see live Health data on a device.

Yes — with Cursor or Claude Code you could scaffold a similar HealthKit app in a week. You’d still spend another 1–2 weeks on permission choreography, empty-day aggregations, workout writes that never hit Activity rings, and (for Companion) widgets / Watch / Island as three separate rabbit holes. Health Stack is the end state of that journey — distilled from production apps — so you start on features, not entitlements.

Can I vibe code with Cursor?

Yes. The project is TypeScript-first with clear folders for health, stores, screens, and monetization — so Cursor / Claude Code can navigate and extend it without fighting a spaghetti starter.

HealthKit still needs a physical iPhone and a custom native build; AI can’t fake device Health data or skip expo prebuild.

Will this work in Expo Go?

No. HealthKit needs native modules and a custom development client. Health Stack is set up for expo prebuild + expo run:ios (dev client).

What platforms does it support?

iOS first. HealthKit requires a real iPhone (simulator is limited). Built on Expo SDK 55 with TypeScript and a modern React Native baseline.

Android builds run, but health APIs no-op until a Health Connect module lands. Companion extras (widgets, Island, watchOS, Apple Intelligence) are Apple-surface features.

What kind of apps can I build with this?

Health Stack is for Expo / React Native apps that touch Apple Health, for example:

  • Step / sleep / recovery dashboards
  • Workout loggers that write back to HealthKit
  • Hydration trackers
  • N-of-1 correlation / experiment apps
  • Desk-worker or session apps with Live Activity + Watch (Companion)
  • On-device coaching / insight cards from Health summaries (Companion)

It’s infrastructure — not a finished consumer brand. You bring product, design, and App Store listing.

What’s the difference between Core and Companion?

Core ships the HealthKit Expo app: read/write, charts, onboarding, RevenueCat — enough for an iPhone-only health product.

Companion adds the rest of the Apple surface: widgets, Dynamic Island, watchOS, App Groups, and on-device Apple Intelligence (DeskWalker-style path).

Full matrix under Pricing.

Can I upgrade from Core to Companion later?

Yes. Email radek@jozefowicz.dev with your Core receipt and pay the $100 difference.

Do I need a backend?

No. Defaults are local-first — Health data stays on device via HealthKit. Bring your own sync / accounts later if you want multi-device or cloud features.

RevenueCat still needs your own RevenueCat project + App Store Connect products.

Is Apple Intelligence BYOK? What AI is included?

Companion uses on-device Apple Intelligence only (@react-native-ai/apple) — no OpenAI / Anthropic keys, no server proxy required for the AI card.

Core has no AI module. If you want cloud AI wrappers, bring your own backend — Health Stack doesn’t ship third-party model integrations.

What dependencies / stack are included?

Core is intentionally lean:

  • Core: Expo 55, React Native, TypeScript, @kingstinct/react-native-healthkit, Zustand, AsyncStorage, React Navigation, RevenueCat (react-native-purchases), SVG charts
  • Companion adds: expo-widgets, Live Activities / Dynamic Island, App Group bridges, watchOS target, on-device Apple Intelligence

No forced analytics, auth, or backend SDK — you add those when your product needs them.

Can I see apps built on these patterns?

Yes — the showcase links App Store pages for Correlation Lab, DeskWalker, Longevity Arc, Energy Gauge, and Metrya.

Health Stack is distilled from the same production patterns those apps use (not a public SDK they import as a dependency).

I’m newer to React Native — can I use it?

If you’re comfortable with JavaScript/TypeScript and willing to run a native iOS build, yes. You don’t need prior HealthKit expertise — that’s the point.

You do need Xcode, an Apple Developer account for device builds, and patience for first-time native setup. Absolute beginners who’ve never run Expo outside Expo Go will hit a steeper ramp.

How often is Health Stack updated?

Lifetime updates are included with your purchase — Expo SDK bumps, HealthKit library updates, and Companion surface improvements as the stack evolves in shipping apps.

No subscription for code updates. One-time payment, unlimited commercial apps (no reselling the boilerplate itself).

Do you provide support?

Yes — email support at radek@jozefowicz.dev.

Agency / studio shipping many client apps? Ask about a bulk license.

Can I get a refund?

After you’ve received access to the private repositories, Health Stack is yours — digital goods can’t be “returned,” so purchases are non-refundable.

Read the FAQ, comparison table, and showcase first. Email radek@jozefowicz.dev if you’re unsure whether Core or Companion fits before buying.

Is a landing page included?

No — you get the mobile boilerplate (and Companion extras on that tier). Market your app with whatever site stack you prefer.

Health Stack

Stack it once. Ship every health app faster.