← projects2025 · AI / Agentic

ORCA

zero-step agentic task automation on android. you text what you need and it happens in the background.

the problem with apps is that there are way too many of them, and every single one is just another chore between wanting something done and actually having it happen. you unlock your phone, search for the app, wait for it to load, parse whatever interface they designed this week, click five buttons, and close it. orca is our attempt at killing that entire chain.

you don't download an app. you don't learn a ui. you just send a normal text on whatsapp or telegram, like “order a veg burger from the place down the street and book a cab to the office,” and it happens in the background.

Architecture

1. Message Ingestion
WhatsApp/Telegram webhook receives the user text. The system normalizes incoming messages across both platforms into a uniform internal schema so downstream stages don't care about the source.

2. Intent Parsing
A quantized Qwen variant extracts structured intent and entities from the raw text. For “order a veg burger from the place down the street and book a cab to the office,” the model produces two parallel intents: food_order with entities {cuisine: veg, item: burger} and cab_booking with destination: office. The model runs locally on a quantized 4-bit configuration so inference latency stays under 800ms.

3. DAG Construction
Each intent maps to a directed acyclic graph of low-level UI gestures. A single intent decomposes into a sequence of taps, scrolls, text inputs, and swipe vectors with precise x/y coordinate mappings. The DAG executor handles dependency resolution: if “open Swiggy” and “search for burger” are parallelizable steps, they run concurrently on separate emulator instances.

4. Execution
A headless Android device cluster runs each gesture sequence sequentially via ADB (Android Debug Bridge) and custom accessibility service scripts. The cluster maintains a pool of 8-16 emulator instances with pre-configured app states so cold starts are minimized. Each gesture command is wrapped in a retry loop with exponential backoff.

5. State Management
SCXML state machines handle retry logic, failure rollback, and device health monitoring. If an emulator crashes mid-execution, the state machine snapshots the current DAG position and reassigns it to a healthy instance. The state machine transitions are logged to a central event store for debugging and analytics.

6. Confirmation
Execution status streams back through the chat interface in real-time. The user sees “opening swiggy...” → “searching for veg burger...” → “placing order...” → “done! your order is confirmed.” Each step shows a timestamp and, where applicable, a screenshot of the completed action.

Why This Matters

In India, ~500 million mobile users are genuinely not going to download one more app for one specific task. They already know how to use WhatsApp. ORCA meets them exactly where they are. The interface is text. The execution is invisible. The phone becomes a service endpoint, not an app launcher.