Developers

Haptic navigation, in a few lines of code.

Native SDKs for iOS and Wear OS, a REST API and WebSocket streaming. Integrates with your existing mapping stack in hours, not weeks.

Platforms

<50ms SDK response latency. Works on any device with a vibration motor: phones, watches, rings, earbuds.

  • Available

    iOS SDK

    Native Swift SDK with Core Haptics and AHAP support. Apple Watch integration live.

  • Available

    Wear OS SDK

    Native SDK for Wear OS watches. Phone-to-wrist handoff.

  • Available

    REST API

    Compute Haptic Corridors for routes, manage sessions, pull analytics.

  • Available

    WebSocket

    Stream heading and position; receive haptic frames in real time.

  • Update coming

    Android SDK

    An updated Android SDK is on the way. Ask us for early access.

  • Enterprise

    OEM / firmware

    Embed the corridor engine on your device’s haptic motor. Per-device licensing.

How integration works

Never ship an API key inside an app. HapticNav uses the same pattern as payment SDKs: a secret key on your server mints short-lived session tokens for devices.

  1. Request access

    Get a free Developer workspace: 10,000 navigation sessions a month, the full haptic pattern library, iOS SDK and REST API.

  2. Mint session tokens on your server

    Your secret key stays server-side. Your backend exchanges it for short-lived, single-user session tokens.

  3. Start a navigation session

    Pass the token to the SDK on the device, set a destination and corridor width, and the user feels the way.

  4. Watch usage and set budgets

    Usage dashboards per meter, with budget alerts at 50%, 90% and 100% of your monthly cap.

server.ts your backend
// Runs on YOUR backend. The secret key never ships to devices.
import { HapticAdmin } from '@haptic/navigation-sdk/server';

const haptic = new HapticAdmin({
  secretKey: process.env.HAPTIC_SECRET_KEY,
});

app.post('/haptic/session', requireUser, async (req, res) => {
  const { token, expiresAt } = await haptic.sessions.create({
    userId: hash(req.user.id), // pseudonymous, never PII
    scopes: ['navigate'],
    ttlSeconds: 900,         // short-lived, single user
  });
  res.json({ token, expiresAt });
});
app.ts device
// The device only ever sees a short-lived session token.
import { HapticNav } from '@haptic/navigation-sdk';

const { token } = await fetch('/haptic/session', { method: 'POST' })
  .then((r) => r.json());

const haptic = new HapticNav({
  sessionToken: token,
  corridorWidth: 2.5,        // metres
  platform: 'ios',           // 'ios' | 'wearos' | 'web'
});

// Start navigation: one navigation session
haptic.navigate({
  destination: { lat: 40.7128, lng: -74.006 },
  onDeviation: (angle, distance) => haptic.calculateFeedback(angle),
});
corridor.sh REST
# REST: compute a Haptic Corridor for a route (one routing API request)
curl https://api.haptic.works/v1/corridors \
  -H "Authorization: Bearer $HAPTIC_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"origin":[40.7580,-73.9855],"destination":[40.7128,-74.0060],"profile":"walking","width_m":2.5}'
stream.ts WebSocket
// WebSocket: stream heading + position, receive haptic frames
const ws = new WebSocket(`wss://api.haptic.works/v1/stream?token=${token}`);
ws.onmessage = ({ data }) => device.play(JSON.parse(data)); // { intensity, pattern }
ws.send(JSON.stringify({ heading: 182, lat: 40.7579, lng: -73.9857 }));

Samples are illustrative of the integration pattern. The SDK reference has exact method names.

What gets metered

Usage is counted per workspace per calendar month (UTC). Each meter has a free monthly allowance, then graduated pricing.

See pricing & calculator
Navigation sessions
One session starts when the SDK begins haptic guidance toward a destination and ends on arrival, cancellation, or 60 minutes without movement. Rerouting inside a trip does not start a new session.
SDK monthly active users
One MAU is one app installation (iOS, Wear OS or wearable) that initializes the SDK at least once during the month. The same person on a phone and a watch counts as two MAUs.
SDK MAU, unlimited sessions
Same MAU definition as above. Navigation sessions from SDK clients are not billed separately on this option.
Haptic Corridor & routing API requests
One request is one successful REST call or one WebSocket route/corridor computation. Routing done by the SDK inside a billed navigation session is included and not counted here. Errors (4xx/5xx) are not billed.
Crowd-finding sessions
One session is one group of devices finding each other, from invite accepted to found or cancelled, up to 4 hours.
Analytics & telemetry events
One event is one telemetry record (e.g. session start, corridor deviation, arrival) ingested and retained for the plan's retention period.
Wearable & OEM devices
One device is one activated hardware unit with the HapticNav runtime during the month. Volume pricing: every billable device is charged at the rate of the band your total reaches.

Documentation

Public docs are coming soon. Developer-tier workspaces get the full SDK reference today.

  • Quickstart (iOS)

    Available with SDK access.

  • Quickstart (Wear OS)

    Available with SDK access.

  • REST API reference

    Available with SDK access.

  • WebSocket protocol

    Available with SDK access.

  • Session tokens & auth

    Available with SDK access.

  • Haptic pattern library (AHAP, JSON)

    Available with SDK access.

HapticAI & HapticLab

Design the feel, then export it anywhere.

Human tactile perception peaks around 250 Hz, where Pacinian corpuscles are most sensitive. HapticNav tunes feedback in that range. Amplitude communicates how far you’ve drifted; silence means perfect alignment.

  • Export patterns as AHAP (iPhone-ready), JSON (any platform), CSV (analysis) or JS (Web Vibration API)
  • Sine, square, triangle and sawtooth waveforms with quick presets
  • Adaptive feedback tuned to walking speed, environment and user preference
  • Custom haptic pattern design available as an add-on

Ship screen-free navigation this sprint.

Start on the free Developer tier today, or talk to our licensing team about what HapticNav can do for your product, your users and your bottom line.