Run any job on
any machine.
Tanvrit Compute is a distributed job fabric for CI pipelines, AI/ML inference, and batch workloads. One SDK, one portal — Android, iOS, desktop, and web. Bring your own nodes or spin up GPU on demand.
$ 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
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.
Up and running in minutes
No Kubernetes. No Terraform. No YAML sprawl.
Register your nodes
Install the Tanvrit Compute agent on any machine — your laptop, a bare-metal server, or a cloud VM. It registers automatically and starts accepting jobs.
brew install tanvrit/tap/compute-agent compute-agent start --api-key $KEY
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
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
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
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) }
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.
Desktop
Or use it right now in your browser → Open web portal
Simple pricing
Self-hosted is always free. Pay only for Tanvrit-hosted compute.
- ✓ Unlimited self-hosted nodes
- ✓ All job types
- ✓ Community support
- ✓ Everything in Free
- ✓ Priority scheduling
- ✓ Email support
- ✓ Everything in Pay-as-you-go
- ✓ HIPAA / SOC 2
- ✓ 99.9% SLA
Start running jobs in 5 minutes.
Open the portal, add your first node, and submit your first job — no credit card needed.