Jarvis LogoJarvis

The OS for AI Wearables

Desktop-grade execution and persistent memory for glasses, earbuds, and AI wearables.

JARVIS remembers your context and executes real tasks end to end. Invisibly.

AI Smart GlassesPhone with AI notification
Smart WatchPhone with AI notification
Smart RingPhone with AI notification
Wireless EarbudsPhone with AI notification
AI Pendant
AI HeadphonesPhone with AI notification

"In the last meeting, add any actionable items to my calendar and send a summary to my cofounder on Slack"

AI does the work for you. You just approve

"I'm stuck in Tahoe ski resort due to blizzard. Reschedule non-urgent meetings, flag anything critical and ask for offline followup, and send message to John about the rescheduled meetings"

AI does the work for you. You just approve

"Buy me the tickets to Wicked play in Manhattan Gershwin Theatre for tomorrow evening, and tell me a bit about the background of the play so I know enough context"

AI does the work for you. You just approve

"I'm heading home. Let my roommate know my ETA, order my favorite Indian cuisine for dinner on Uber Eats"

AI does the work for you. You just approve

"Leaving the office in 15 minutes, when is the next train to Boston?"

"I'm meeting Alex again tomorrow, remind me what we discussed last time and anything he's expecting from me as followup?"

AI does the work for you. You just approve

How it works?

JARVIS is the interface layer that gives AI wearables access to real computers, apps, and cloud agents; enabling atomic and complex tasks with persistent memory.

Speech is the most efficient input mechanism for AI wearables. JARVIS treats speech as the primary interface while supporting other inputs, orchestrating computer-use, connected apps, and persistent memory to deliver order-of-magnitude gains in everyday efficiency.

For Developers

We are releasing the API docs soon so you can start integrating Jarvis to your projects. and mark yourself as developer and we will reach out.

Android (Kotlin)

val jarvis = JarvisClient(
    apiKey = BuildConfig.JARVIS_API_KEY
)

jarvis.startSession(
    input = SpeechInput(
        text = "Reschedule non-urgent meetings and notify my cofounder."
    ),
    signals = ClientSignals(
        device = DeviceType.WATCH,
        location = LocationSignal.LIVE   // optional
    ),
    onEvent = { event ->
        when (event) {
            is JarvisEvent.ApprovalRequired -> showApprovalPrompt(event.request)
            is JarvisEvent.Status -> renderStatus(event.message)
            is JarvisEvent.Completed -> showDone(event.summary)
            is JarvisEvent.Error -> showError(event.userMessage)
        }
    }
)

Server (Node.js)

import { JarvisServer } from "@jarvis/os-server";

const jarvis = new JarvisServer({
  apiKey: process.env.JARVIS_API_KEY,
});

// Typically behind your auth (userId from your session/JWT)
app.post("/jarvis/execute", async (req, res) => {
  const { userId, text, signals } = req.body;
  const run = await jarvis.execute({
    userId,
    input: { type: "speech", text },
    signals, // device, location, time, etc.
    // Server enforces what tools are allowed for this user
    policy: {
      requireApprovalFor: ["payments", "sending_messages", "ordering"],
      memoryScope: "personal",
    },
  });
  res.json({ runId: run.id });
});

Note: API is subject to change during development.