For product & engineering teams


Clinical infrastructure for consumer apps. One SDK, your brand, your data model — HIPAA, licensing, and the provider network behind the API.

Your App, Your Offering
Care Orchestration
Health, Hardware and API Integrations
Security & Compliance
App-Aligned User Experience
Compound Pharmacy & Supplements
Varied Provider Specialties
01
import { Felt } from '@felt/sdk'import { theme } from './config' const app = new Felt({ brand: "yourco", theme: customTheme, logo: "./assets/logo.svg", favicon: "./assets/fav.png", states: ["CA","NY","TX","FL", "WA","OR","CO","IL"], onboard: async (user) => { await user.verify() await user.consent() return user.profile }, features: { telehealth: true, pharmacy: true, messaging: "async", scheduling: true, labs: true, imaging: false, }, compliance: { hipaa: "enforced", baa: "auto", }, analytics: "full", locale: "en-US",}) app.mount('#care-root')app.analytics.init()app.router.sync()console.log('SDK ready') // v2.4.1 — production// mounted in 42ms
02
const journey = felt.care .journey.start({ flow: "standard", steps: [ { name: "intake", type: "form" }, { name: "triage", type: "ai", model: "felt-dx" }, { name: "visit", type: "async" }, { name: "labs", type: "order" }, { name: "rx", type: "dispense" }, { name: "follow_up", type: "scheduled", delay: "7d" }, ], timeout: '48h', escalation: 'auto', fallback: "transfer", retry: 3, sla: "30min", }) journey.on('step', log)journey.on('complete', notify)journey.on('timeout', escalate) // active journeys: 142// avg completion: 22min// SLA compliance: 98.7%// queue depth: 8
03
felt.devices.onReading( (reading) => { const vitals = { hr: reading.heartRate, spo2: reading.oxygen, temp: reading.temp, bp: reading.pressure, glucose: reading.glucose, weight: reading.scale, sleep: reading.sleep, }  store.ingest(vitals) timeline.append(vitals) ehr.sync(vitals)  if (vitals.hr > 120) { triage.escalate({ priority: 'urgent', data: vitals, notify: 'provider', sla: '5min' }) }  if (vitals.spo2 < 92) alert.critical(vitals) }) // BLE + WiFi + REST + FHIR// 12 endpoints active// latency: 12ms p99// uptime: 99.99%
04
// compliance middlewarefelt.use(compliance({ hipaa: "enforced", encryption: { atRest: "AES-256", inFlight: "TLS-1.3", keyRotation: "90d", certPin: true, }, baa: "auto-sign", audit: { mode: "continuous", retention: "7y", alerts: "realtime", export: "pdf", }, states: 50, phi: "auto-redact", logging: "immutable", access: "rbac", mfa: "enforced", sessions: { timeout: "15min", refresh: "sliding", concurrent: 1, }, dataResidency: "us",})) // all gates passed// last audit: 2h ago// 0 violations// next scan: 22min
05
const intake = felt.forms .create({ type: "symptom_check", style: "branded", fields: [ 'symptoms', 'severity', 'duration', 'medications', 'allergies', 'history', 'vitals', 'photos' ], validation: 'strict', autosave: true, submit: async (data) => { const result = await triage.start(data) if (result.urgent) nav.to('/visit') else if (result.labs) nav.to('/labs') else nav.to('/queue') }, onError: (e) => { log.warn(e) toast.show('Retry') } }) intake.render('#form')intake.prefill(session)// form loaded: 48ms// fields: 8 · valid
06
await felt.rx.dispense({ patient: session.id, provider: visit.doc, pharmacy: 'compound', items: [ { drug: 'semaglutide', dose: 0.5, unit: 'mg', supply: 30, refill: 3 }, { drug: 'vitamin_d3', dose: 5000, unit: 'IU', supply: 60 }, { drug: 'prenatal', refill: 'monthly' }, { drug: 'biotin', dose: 10000, unit: 'mcg' }, { drug: 'magnesium', dose: 400, unit: 'mg' }, ], shipping: '2-day', tracking: true, notify: ['email','sms'], insurance: session.plan, copay: 'auto-calc',}) // Rx #0238 — dispensed// shipment: in transit// ETA: 2 days// copay: $12.00
07
const roster = await felt .providers.query({ state: session.state, type: "async", specialties: [ "pediatrics", "urgent_care", "dermatology", "mental_health", "glp1", "weight_mgmt", "primary_care", "womens_health", "endocrinology" ], licensed: true, available: true, credential: "verified", maxWait: '15min', }) roster.forEach(doc => { schedule.add(doc) notify.queue(doc.id) metrics.track('match')}) const available = roster .filter(d => d.online) .sort((a,b) => a.wait - b.wait) console.log(`${roster.length} matched`)// 58 providers online// avg response: 3.2min// coverage: 50 states
In production
2partners live
·
450Kmonthly users
·
<5 minto a doctor
·
50states covered
·
99.99%uptime
·
2partners live
·
450Kmonthly users
·
<5 minto a doctor
·
50states covered
·
99.99%uptime
·
The gap

Competitors sell the network.
You need infrastructure.

Product and engineering teams at consumer companies get stuck between an 18-month healthcare build and a white-label clinic that wasn't built for your app.

Build it yourselfmo 1 → mo 18
  • 50-state licensing and credentialing
  • HIPAA counsel, BAA, and audit programs
  • Fee-splitting and MSO legal structure
  • Provider network contracts and pharmacy ops
  • Mobile SDK + clinical UX from scratch

Becomes a healthcare company — not a product company.

Buy a clinic brandtheir UX · their data
  • Their brand, not yours — embedded clinic UI
  • Opaque data model; limited webhook surface
  • Retention and export on their terms
  • Detection content tied to their roadmap
  • Hard to pass security review for hardware partners

Ships care — not a developer surface your team owns.

Felt is the third path: clinical capacity behind your SDK, with contracts and compliance built for teams that ship consumer hardware and apps.

SDK

Developer tools first. Clinical capacity behind the API.

It all starts with Felt.configure(brand: "your-app") — one integration surface for product and engineering. The provider network, pharmacy, and compliance layers are abstracted, not your problem to assemble.

0B
Init payload
Worst-case 0.25s init. Background-thread safe.
2×
Native iOS + Android
Swift + Kotlin. Web layer updates OTA, no SDK release.
1env
White-label by env
BRAND=your-app swaps copy, theme, events.
0cookies
Typed params
Symptoms, biometrics, account ID — all structured.
View the SDK reference
Data & privacy

Your users. Your data model.
Our compliance burden.

Wearables and consumer apps fail security review when the clinical vendor owns the UX and the export path. Felt is built so product teams keep custody of the experience — and the integration contract.

  • Your brand, your app shell. White-label by environment — Felt stays invisible to end users.
  • Structured clinical payloads. Biometrics, symptoms, and account IDs pass as typed params — not ad-hoc forms.
  • Partner-controlled retention. Audit logs and clinical records under your BAA; 7-year retention aligned to HIPAA.
  • Webhook-first integrations. Visit lifecycle, Rx status, and triage events — built for your orchestration layer.
Security & data handling
integrations/webhooks.ts
// felt.data — partner boundary
webhooks.on('visit.completed', async (e) => {
await yourApp.careHistory.append({
userId: e.accountId,
summary: e.clinicalNote,
// PHI stays in your tenancy
});
});
Deployment pack

What wearables teams ask before they sign.

Consumer companies need contract and compliance detail upfront — not after a six-month legal review. Felt ships the paperwork and licensing model so engineering can integrate in parallel.

BAA

Signed on integration

Business Associate Agreement executed before production traffic — every partner, every clinician.

MSO

Fee-splitting structure included

License structure designed with healthcare counsel so consumer brands don't inherit regulatory surface alone.

50

State licensing carried by Felt

Provider network credentialing and boards — not a hiring project for your eng team.

Encryption

Shared compliance posture

AES-256 at rest, TLS 1.3 — mapped for hardware and app store security questionnaires.

// BAA template, subprocessors, and security appendix available in partner docs

Full build vs. buy comparison

Build vs. buy

Same goal.
Very different Gantt chart.

The deployment pack your legal and security teams need — spelled out row by row, not buried in a sales deck.

With Feltday 0 · live
One integration
  • HIPAA BAA · Included
  • Clinical licensing (50 states) · Provider network carries it
  • Doctor network · Multi-specialty, credentialed
  • Prescription fulfillment · Handled
  • Fee-splitting isolation · License structure included
  • Mobile SDK · iOS + Android, <300B
The 18-month buildmo 1 → mo 18
Eighteen months
  • HIPAA BAA · Legal counsel + months
  • Clinical licensing (50 states) · Hire and credential per state
  • Doctor network · Partner negotiations, vetting, contracts
  • Prescription fulfillment · Pharmacy integrations, DEA, boards
  • Fee-splitting isolation · Specialized healthcare attorney
  • Mobile SDK · Build and maintain in-house

Every partner we work with tried to build it first. Here's what Felt replaces.

Compliance · shifted

No new HIPAA.

The regulatory surface of running a healthcare company is real. Felt carries it — signed on integration, every partner, every clinician.

HIPAA + BAA50-state licensingAES-256 · TLS 1.3
For product teams

Built for teams shipping consumer-grade care.

Fitness, wearables, sleep, and nursery devices share the same buying motion: engineering needs APIs, product needs brand control, legal needs contracts on day one.

Wearables solution overview

Felt executes a BAA with your company before production. Clinical records and audit obligations are structured so your legal team can map subprocessors in one pass — not vendor by vendor.

Yes. Felt.configure(brand) drives white-label copy, theme, and flows inside your iOS/Android app. End users should experience your product — not a third-party clinic.

You control what crosses into clinical intake via typed SDK params — biometrics, symptoms, account IDs. We document recommended minimums for triage without forcing a one-size payload.

Partners typically parallelize eng integration with our BAA and data-flow appendix. Clinical licensing is carried by Felt's network — not a blocker you credential state by state.

VP Product · consumer wearables
Yousaveme18 months.
VP
VP of Product, consumer wearables
After a Felt integration call · Apr 2026
In production · real numbers

Real partners. Real patients. Real numbers.

0K
monthly users under care
< 5 min
time to doctor
50 / 50
states covered
99.99%
uptime
7-year
audit retention

Across live partner deployments · 12-month trailing window · multi-specialty.

Clinical capacity · API

Licensed care.
Abstracted behind your SDK.

Multi-specialty doctors, pediatrics, and pharmacy fulfillment run on Felt's network — credentialed in all 50 states, routed under your brand. You integrate once; we operate what competitors put on the homepage.

  • Adult & urgent care, 24/7. Async visits, prescribing, triage — exposed via the same SDK surface.
  • Pediatrics, on demand. Built for connected devices and family apps — not a separate clinic SKU.
  • Subscription Rx. GLP-1s, supplements, follow-ups through licensed pharmacy partners.
  • AI-assisted intake. Biometrics from your app become structured case notes for clinicians.
Clinical API overview

care.router · us-east

999ms · all routes online
Pediatrics · 24/7Board-certified · Infant + Child · 50 states
onlineonline
Adult + Urgent CareLicensed physicians · Rx · 50 states + DC
onlineonline
Subscription RxGLP-1s · Supplements · Pharmacy network
onlineonline
Bring your ownRoute through an existing clinical partner, or use Felt’s default stack.
byo.providerconfig
$felt.partners.request('access')
Run it

// we can't tell you who we work with. that's the point.

The care journey · 04:48 median

From sick event to prescription — without leaving your app.

01

SDK init

Partner app opens. Felt initializes with device context and account ID.

00:00
02

Triage

AI-assisted intake converts device readings and symptoms into a clinical case.

00:00
03

Paywall

Subscription or visit-based, per partner. Stripe-backed. Trial by default.

00:00
04

Visit

Async doctor visit routed to the right specialty — pediatric, urgent care, or Rx.

00:00
05

Rx & follow-up

Prescription delivered to pharmacy and email. Follow-up scheduled.

00:00
median session5 of 5 online

Your users are already asking for care.Let's ship it.

There's no Felt app in the App Store. That's the point. When you work with us, we won't name you either.

Tell us about your app

Loading form…

$ felt init --brand=your-app
→ Clinical network...
→ 50-state routing...
→ HIPAA BAA... (signed)
Ready. Ship it.
HIPAA50 states99.99%