Solutions

Build your own apps

Use the open Vantage framework as your app's data backbone โ€” typed Rust, a local cache on a background thread, and best-practice persistence over the network. The same engine behind Vantage UI.

Mobile, tablet and embedded apps live or die on how they talk to the network. Hand-rolled API calls turn into slow screens, stale data and unresponsive UIs โ€” and every team rebuilds the same caching, retry and state-sync plumbing from scratch.

The Vantage framework is built to be the backbone of that app. It's written in Rust, slots into any architecture, and gives you a data-abstraction layer with local caches, running on a background thread, implementing best-practice persistence over the network โ€” so your UI thread stays smooth and your data stays fresh.

It's the same engine that powers Vantage UI. The difference: it's fully open-source, so you can build your own app directly on top of it.

Where it sits in your app๐Ÿ”—

Your app

UI & business logic โ€” native, mobile, embedded or desktop

Vantage data layer

typed models ยท local cache ยท reactive events ยท background thread

Your data

SQL ยท SurrealDB ยท MongoDB ยท REST ยท GraphQL

What you get๐Ÿ”—

verified
Typed & safe

Model entities as native Rust types. The compiler catches mismatches, and capability traits stop you calling insert on a read-only source.

swap_horiz
Swap backends, keep your code

Move an entity between SQLite, Postgres, SurrealDB, Mongo or a REST API without changing your app logic.

bolt
Local cache, off the main thread

Diorama keeps a local copy in memory or on disk, serves reads instantly, and refreshes on a background task โ€” even when the backend is slow or rate-limited.

sync
Reactive & live

When data changes, everything watching hears about it โ€” grids re-render, forms update. Build reactive UIs without hand-rolling state sync.

table_rows
Virtualized loading

Viewport-driven sparse paging fetches only the rows on screen, so a million-row list stays smooth.

science
Mock-testable

Mocks at the SDK level let you unit-test business logic with no database and no network โ€” fast, deterministic CI.

The framework, in full๐Ÿ”—

One model, any backend๐Ÿ”—

Rust
// A typed entity, queried without writing SQL.
let clients = Client::table(db)
    .with_condition(clients.is_paying().eq(true));

// Reads come from a local cache, refreshed on a background task โ€” // the same handle works over SQLite, Postgres, SurrealDB or Mongo. let lens = Lens::new() .cache_at("./cache.redb") .refresh_every(Duration::from_secs(30)) .build()?;

Ship it across your org๐Ÿ”—

Build your model once as an ordinary Rust crate, version it internally, and let every team build on the same typed foundation. Because it's just a Rust library, you expose it to other languages with the usual binding crates โ€” you can even link it straight into an existing service.

check_circleThe Rust data layer is production-ready and published today. Language bridges beyond Python and WASM/browser targets are still maturing โ€” build on the Rust core now, and grow into the rest.

Start here๐Ÿ”—