DeviceGrid AI

Mobile Compute Cloud control console

demo

Demo mode is seeded sample data. Use DEVICEGRID_MODE=live to test a real Android phone.

Task success

91.8%

Target >= 95 %

Cost / success

0.018USD

Target <= 0.03 USD

Observation p95

1.34s

Target <= 1.5 s

Auto recovery

88.4%

Target >= 90 %

Task Queue

Leased runs and verifier state

Replay Debugger

task_invoice_1842

running
Pixel 6a Lab 01Android 15
ShopCowifi

Current screen

Waiting for screenshot

Verifier focus

Capture real device observations and verify each step.

UI nodes0
Screen hashpending
Executor

low-cost

Policy

active

Cost

$0.016

Observation bundle captured

7:50:58 AM

Screenshot, UI tree, 118 OCR tokens, and notification snapshot stored.

step 15842ms$0.000

Policy allowed field read

7:51:04 AM

Action reads invoice UI only; no external message, purchase, or account mutation.

step 1666ms$0.000

Tapped invoice history row

7:51:18 AM

Executor selected element text='June 2026 invoice' from AppCard recipe.

step 171231ms$0.002

Verifier checking amount field

7:51:44 AM

Screen hash matches invoice_detail_v3; extracting amount candidate and due date.

step 182104ms$0.002

Reliability Scoreboard

AppCards, evals, and task economics

ShopCo

93%
28 screens11 recipes$0.021

Example Bank

97%
17 screens8 recipes$0.012

DeviceGrid Portal

99%
9 screens5 recipes$0.004

Social Example

71%
21 screens6 recipes$0.049

Fleet OS

5 devices, 3 active, 1 ready, 63 recorded actions

DeviceStateHealthEdgeCurrent App
running task
84%normal4s hb
edge_lab_acom.shopco.android
ready
92%normal7s hb
edge_lab_alauncher
leased
100%normal2s hb
edge_cloud_poolcom.example.bank
recovering
67%warm48s hb
edge_lab_acom.social.example
needs human
41%normal219s hb
edge_customer_westsettings

Edge Nodes

Lab A Edge Nodedegraded
3/8 devices84ms1 recoveries
Cloud Emulator Poolonline
16/24 devices41ms0 recoveries
Customer West Private Edgedegraded
11/20 devices141ms2 recoveries

Recovery Ladder

0Retry command
1Refresh UI state
2Restart Portal
3Force-stop target app
4Restart ADB
5Reboot device
6Cycle USB power
7Quarantine

Workflow Compiler

Deterministic skeleton with bounded executor substeps

versionedsecret scopedreplay retained

Preconditions

  • device.unlocked == true
  • app.installed == true
  • profile.account_state == logged_in
  • policy.allow_purchases == false

Policy Gates

  • purchase
  • delete
  • external_message_send
  • credential_export

Postconditions

  • output.invoice_total is string
  • no external action performed
  • artifact.timeline_complete == true
Invoice extractionmax retries 2
  1. 01open_app(com.shopco.android)
  2. 02wait_for(screen in [home, account])
  3. 03tap_element(label: Account)
  4. 04tap_element(label contains: Invoices)
  5. 05select_latest_invoice()
  6. 06extract_fields(invoice_total, invoice_date)
  7. 07verify(output.invoice_total exists)