On-Device Inference
Run locally with native session managers, memory-aware lifecycle controls, and offline-friendly model access.
On-Device ML Infrastructure
Three billion phones already have the compute to run ML models, serve inference, and host autonomous agents. What they've never had is the infrastructure. Dust is that infrastructure — the serving layer underneath that everything else stands on.
Think CUDA, but for the three billion devices that already exist.
Device Unified Serving Toolkit
Demo
Run it yourself in 3 commands
git clone https://github.com/rogelioRuiz/dust-llm-capacitor.git
cd dust-llm-capacitor
npm install && npm run test:ios
Demo
Run it yourself in 3 commands
git clone https://github.com/rogelioRuiz/dust-onnx-capacitor.git
cd dust-onnx-capacitor
npm install && npm run test:android
Features
Dust keeps bridge code thin, runtime code native, and contracts portable so the same serving model spans app shells and platforms.
Run locally with native session managers, memory-aware lifecycle controls, and offline-friendly model access.
Ship one architecture across Capacitor apps, Android/JVM libraries, and iOS/macOS packages.
Adopt the exact layer you need: bridge, runtime, or shared contract package, without dragging the full stack in.
Cover llama.cpp GGUF workflows and ONNX Runtime pipelines from the same project family.
Tokenizers, embedding services, and vector store contracts are first-class pieces of the platform model.
Registries, downloads, verification, status transitions, and ref-counted sessions stay inside the framework.
Architecture
The bridge layer exposes app-facing APIs while Kotlin and Swift libraries own actual inference, downloads, and model serving behavior.
Ecosystem
The ecosystem spans bridge packages, platform-native runtimes, and portable core contracts designed to compose cleanly.
capacitor-coreShared bridge-facing ML contracts, interfaces, and value types for Dust plugins.
View on GitHub →capacitor-embeddingsOn-device embedding model tokenization and inference for Capacitor apps.
View on GitHub →capacitor-llmCurrent JavaScript bridge for on-device GGUF and llama.cpp inference.
View on GitHub →capacitor-onnxCurrent JavaScript bridge for ONNX Runtime loading, preprocessing, and inference.
View on GitHub →capacitor-serveDownloads, registry, sessions, and model lifecycle management for Capacitor hosts.
View on GitHub →dust-core-kotlinCore contracts and service abstractions for Android and JVM consumers.
View on GitHub →dust-embeddings-kotlinEmbedding and tokenizer runtime primitives for Android.
View on GitHub →dust-llm-kotlinKotlin-native LLM runtime and GGUF session integrations.
View on GitHub →dust-onnx-kotlinONNX Runtime session management and tensor preprocessing for Android.
View on GitHub →dust-serve-kotlinModel registry, downloads, and session lifecycle services for Android.
View on GitHub →dust-core-swiftCore protocol and contract types for Swift consumers.
View on GitHub →dust-embeddings-swiftTokenizers and embedding runtime primitives for iOS and macOS.
View on GitHub →dust-llm-swiftGGUF, llama.cpp inference, and chat runtime for iOS and macOS.
View on GitHub →dust-onnx-swiftONNX Runtime session management and preprocessing for Apple platforms.
View on GitHub →dust-serve-swiftModel registry, downloads, and serving lifecycle services for Swift apps.
View on GitHub →Get Started
Pick the layer you need and install from the published registry.
# Capacitor bridge packages
npm install dust-core-capacitor dust-llm-capacitor dust-serve-capacitor
npx cap sync
// app/build.gradle
dependencies {
implementation("io.t6x.dust:dust-core-kotlin:0.1.0")
implementation("io.t6x.dust:dust-llm-kotlin:0.1.0")
implementation("io.t6x.dust:dust-serve-kotlin:0.1.0")
}
// Package.swift
.package(url: "https://github.com/rogelioRuiz/dust-core-swift", from: "0.1.0"),
.package(url: "https://github.com/rogelioRuiz/dust-llm-swift", from: "0.1.0"),
.package(url: "https://github.com/rogelioRuiz/dust-serve-swift", from: "0.1.0"),
// Target dependencies
.product(name: "DustCore", package: "dust-core-swift"),
.product(name: "DustLlm", package: "dust-llm-swift"),
.product(name: "DustServe", package: "dust-serve-swift"),
# Podfile
pod 'DustCore', '~> 0.1.0'
pod 'DustCapacitorCore', '~> 0.1.0'
pod 'DustCapacitorLlm', '~> 0.1.0'
If you know the cloud stack
Every piece of the cloud ML stack has a device-native counterpart in Dust — same concepts, no server required.
| Cloud | Dust equivalent |
|---|---|
| CUDA | dust-core |
| vLLM / Triton | dust-serve |
| TensorRT | dust-onnx |
| vLLM engine | dust-llm |
| TEI | dust-embeddings |