Native. Fast. Free.
Native Rust IDE; desktop app
Built in Switzerland, where privacy is not a marketing slide. Bring your own API key, pick your provider, run everything on your own machine; and steer an orchestrated agent fleet from anywhere.
1 median context per completed task, symbol-scoped index reads vs; whole-file reads on the same 12k-file Rust workspace · 2 cold index, Ryzen 7 / NVMe, warm re-index 90 ms
pub struct Unary;
impl Unary {
/// Bring your own key. Your provider, your rules.
const PROVIDERS: usize = 18; // openai · anthropic · google · xai · mistral · ollama · …
const TOOLS: usize = 60; // read · edit · grep · git · shell · lsp · browser · desktop · …
const LANGUAGES: usize = 24; // rust · ts · python · go · zig · svelte · c/c++ · lua · …
fn index() -> Index {
Index::local() // built and kept on your machine, never uploaded
.semantic() // offline embeddings. “where is X handled?”
.lexical() // BM25 + regex, with the enclosing symbol attached
.symbols() // tree-sitter graph: callers, impls, impact
.incremental() // 84 ms cold, milliseconds warm
.watch() // reindexes on save, in the background
.repo_map() // orientation in a codebase you have never opened
}
fn control() -> Remote {
Remote::web() // steer a running session from the web app
.mobile() // … or from your phone, mid-run
.peer("my-desktop") // … or straight through to your own PC
.handoff() // start on the laptop, finish at the desk
.encrypted() // end-to-end; the relay never sees your code
}
fn fleet() -> Agents {
Agents::orchestrated() // up to 8 workers in parallel, routed per provider
.plugin(BrowserUse) // managed Chromium over CDP
.plugin(PcUse) // native desktop control, real windows
.plugin(Memory) // preferences and repo knowledge that persist
.plugin(Docs) // RAG over your own docs and research
.verify() // a second worker judges the result before it lands
.budget(Tokens) // per-task ceilings instead of surprise invoices
}
fn editor() -> Editor {
Editor::rust() // tree-sitter highlighting, LSP, inline diagnostics
.diffs() // review every agent edit before it lands
.terminal() // a real shell, not a toy emulator
.git() // stage, blame, history without leaving the pane
}
fn keys() -> Vault {
Vault::local() // your keys and logins stay in your own config
.byok() // no proxy, no resale, no middleman
.oauth("work") // provider account #1; one login, kept fresh
.oauth("private") // provider account #2; side by side, no re-auth
.api_key("sk-…") // plain keys rotate exactly the same way
.auto_switch(OnLimit) // 429 → next account, mid-run, zero interruption
.offline(true) // or run a local model and unplug entirely
}
}Showcase
See it run. The editor, a real terminal, a fleet reporting back; and the vault switching accounts mid-run when one hits its limit. Open the showcasePhilosophy
Independent by design. Centered in Europe and grounded in Switzerland's stability and neutrality, we are building for worldwide access with partners across borders. AI should build bridges, not isolation; open competition should drive innovation, not raise walls. The IDE and desktop app are the first step; our own model follows; developed from Europe to work in a global ecosystem.
No proxy sits between you and the model. Keys, index and history stay in your own config, the only traffic leaving the machine is the request you asked for, and nothing is rented back to you per seat. When a provider changes its terms overnight, you change one line instead of your workflow; unplug the network entirely and the editor still works.
It is Rust all the way down; the index, the tool layer, the agent runtime, the editor core. No scripting-language plugin host bolted onto the side, no bridge that leaks. That is why search stays in the millisecond range on repositories that make other editors crawl, and why every token an agent spends is one you actually meant to spend.
Flexibility should be simple, not configurable to death. Pick a provider, pick a model, add a tool; one config, no ceremony, no migration. And because a single agent is a demo rather than a workflow, the same config scales from one agent to a supervised fleet without a second setup.
Roadmap
- 01
now
Pre-Alpha 500
invite onlyThe desktop IDE, released in a first wave of around 500 access keys: local index, bring-your-own-key, the full agent fleet, and remote control from web and mobile.
- 02
next
Pre-Alpha 5,000
wider accessA broader release of 5,000 access keys, open to more people across Windows, macOS and Linux while we improve Unary in the open.
- 03
then
Open Beta
open to everyonePublic builds for Windows, macOS and Linux; no invitation or access key required.
- 04
after
Unary LoRA
tool-trainedOur first Unary-tuned model: a LoRA trained specifically to understand Unary and use its tools effectively.
- 05
horizon
The Unary model
hosted in SwitzerlandOur own model, hosted in Switzerland and built for worldwide access without locking you into one provider.
No dates on purpose; we ship when it is ready, and the changelog tells you when.
We hand out pre-alpha keys in small batches, so everyone testing actually gets an answer from us. Tell us what you are building and you are on the list.
Ask for a pre-alpha keyProtected by Unary Captcha · no newsletter, no tracking
Native Rust speed at your fingertips.