Tanvrit Compute
v1.1 — now in public beta

Run any job on
any machine.

Install the agent on your machine and join a shared compute network. Your idle CPU runs jobs for others — you earn credits and spend them running jobs on everyone else's machines. The more users, the more power every user gets.

tanvrit-compute
$ compute job submit \
  --type DOCKER \
  --image ghcr.io/myorg/runner:latest \
  --command "pytest tests/ -x" \
  --label gpu=A100 --timeout 600

 Submitted  job_01jt4k8n2q · queued → assigned → running
 Streaming logs from node gpu-a100-fra-01
  PASSED tests/test_model.py::test_inference
✓ SUCCESS  47.3s · 0.24 credits
10K+
jobs / day
5ms
median dispatch
1 node
= access to all nodes
$0
to start
Platform

A full portal, on every device

The same portal runs natively on macOS, Windows, Linux, Android, iOS, and in the browser — built with Kotlin Multiplatform Compose so the UI is identical everywhere.

Dashboard
Online nodes
12
Running jobs
34
Queued
7
Failed today
2
Live overview of all jobs, nodes, and credits in one glance.
Jobs
job_01jt4k — RUNNING
Docker · A100
job_01jt3f — SUCCESS
Command · CPU
job_01jt2b — FAILED
GitHub Action
job_01jt1a — QUEUED
AI Tool · GPU
Full-text search, status filters, cancel/retry without leaving the list.
Nodes
gpu-a100-fra-01 · ONLINE
A100 80GB
cpu-arm-sin-02 · ONLINE
ARM64 32c
gpu-h100-nyc-01 · DRAINING
H100 SXM
cpu-x64-lon-03 · OFFLINE
x86_64 16c
Every registered agent — status, labels, CPU/GPU load, last heartbeat.
🍎macOS
🪟Windows
🐧Linux
🤖Android
📱iOS
🌐Web

Everything a compute platform needs

Built for teams who need real job orchestration — not cron wrapped in bash.

Unified job model

COMMAND, DOCKER, GITHUB_ACTION, AI_TOOL — all under one submit API. The scheduler picks the best available node automatically.

🔗

DAG dependencies

Chain jobs into one-level DAGs. Downstream jobs block until their dependencies succeed. Failed upstreams auto-cancel dependents.

🖥️

GPU marketplace

Bid on spare GPU capacity from community hosts — Vast.ai style. A100, H100, L40S. Per-second billing, cancel any time.

🌐

Multi-region HA

Raft-based control plane with automatic leader election. Deploy standby replicas in EU, US, and AP — jobs survive region failures.

Cron schedules

Recurring jobs with jitter, backoff, and pause/resume. Run-now override from the portal, CLI, or SDK without touching the schedule.

📦

Template gallery

Fork-and-run: Android builds, iOS XCTest, Llama inference, Blender renders, ffmpeg, pytest, k6 load tests. One click to customise.

🔄

Agent auto-update

Nodes self-update to new agent versions without manual SSH. Version pinning, staged rollout, and rollback on health check failure.

🔑

API keys & audit

Per-project API keys with label-based scoping. Every submit, cancel, and retry is logged and surfaced in the portal audit trail.

🔌

Tanvrit-native

First-class integration with Tanvrit AI inference and Tanvrit Market campaign pipelines. Shared credits, shared identity.

The Network

Like BitTorrent — but for compute.

Every machine you add is both a contributor and a consumer. 100 users means every user has the combined power of 100 machines at their fingertips — for free, as long as the network stays balanced.

Traditional CI/CD
  • Pay for runners even when idle
  • Queue spikes on push-heavy days
  • One team's idle = wasted money
  • Scale = provision more VMs (cost ↑)
  • Your build waits behind everyone else
Tanvrit Compute Network
  • Idle machines earn credits automatically
  • Queue drains across the whole network
  • One team's idle = another team's free build
  • Scale = more users joining (cost stays $0)
  • Labels let you target mac/gpu/xcode nodes
How credits flow
💻
Your machine
runs jobs for others while idle
+ credits earned
shared pool
🌐
Network nodes
run your jobs on any machine
− credits spent

Contribute more than you consume → your balance stays positive → compute stays free. Heavy users top up with pay-as-you-go credits ($0.0001/sec).

What each platform can do
PlatformSubmit jobsContribute computeNotes
macOS agentFull — shell, Docker, GitHub Actions
Linux agentFull — shell, Docker, GitHub Actions
Windows agent~Shell via cmd; Docker requires Docker Desktop
macOS / Windows / Linux appPortal only — submit & monitor jobs
Android appPortal only — OS kills background processes
iOS appPortal only — sandboxed, no background execution
Web (browser)Portal only — no subprocess execution

The agent (macOS / Linux / Windows) is what joins the shared pool. All portal apps can submit to it from any device.

Native apps for every platform

The Tanvrit Compute portal is a native app built with Kotlin Multiplatform Compose. Same codebase, pixel-perfect on each OS.

Mobile

Or use it right now in your browser → Open web portal

Up and running in minutes

No Kubernetes. No Terraform. No YAML sprawl.

01

Join the network

Install the agent on any machine — laptop, server, or VM. One command: it registers, starts earning credits by running others' jobs when idle, and unlocks the entire network for you.

curl -fsSL https://compute.tanvrit.com/install.sh \
  | TANVRIT_API_KEY=$KEY sh
# Your machine is now in the shared pool.
02

Submit a job

Use the SDK, CLI, or portal to submit a job. Add labels to target specific node pools, set priorities, or attach it as a downstream step in a DAG.

compute job submit \
  --type COMMAND \
  --command "cargo build --release" \
  --label os=linux,arch=arm64
03

Stream results

Logs stream in real-time via SSE. The job status, stdout, and exit code appear in the portal, CLI, and SDK — with webhook notifications on completion.

compute job logs job_01jt4k8n2q --follow
SDK

One SDK across all your platforms

The Tanvrit Compute SDK is a Kotlin Multiplatform library — the same code runs on Android, iOS, JVM, and WASM. Import it once and ship jobs from wherever your app lives.

  • Android, iOS, Desktop, Web — one artifact
  • Coroutines-native: suspend functions, Flow
  • Koin DI out of the box
  • ViewModels with lifecycle awareness
MainActivity.kt
val vm: ComputeJobViewModel = koinInject()
val jobs by vm.allJobs.collectAsState()

// Submit a job
vm.submitJob(
  SubmitComputeJobRequest(
    type = "DOCKER",
    image = "ghcr.io/org/runner",
    command = "pytest tests/",
    gpu = GpuRequest(count = 1),
  )
) { result ->
  snackbar.show("Submitted: ${result.jobId}")
}

// Stream real-time logs
vm.streamLogs(jobId) { line ->
  logBuffer.append(line)
}

Compute is free if you contribute

Your idle machine earns credits. Spend them on any node in the network. Top up only if you consume more than you give.

Contributor
$0
Earn credits by sharing idle compute
  • Join the shared pool with 1 command
  • Earn $0.0001/sec per core while running jobs
  • Spend credits on any node in the network
  • Net contributors never pay
Consumer
$0.0001/sec
Top up when credits run low
  • Everything in Contributor
  • Access GPU nodes (A100, H100, L40S)
  • Priority scheduling
  • Email support
Enterprise
Contact us
Private pool, SLA, SSO
  • Dedicated node pool — no sharing
  • HIPAA / SOC 2
  • 99.9% SLA
  • Volume discounts

One command to join the network.

Install the agent, earn credits from your idle machine, and immediately access every other node in the network. No credit card. No Kubernetes.