Skip to content

Built With

Claudette is built entirely on open source technologies. Here’s what powers it and why we chose each one.

TechnologyRoleWhy we chose it
Tauri 2Desktop app frameworkNative performance with a tiny footprint — no Electron, no bundled Chromium. The result is a <30MB binary with <2s cold start.
RustBackend languageMemory safety without a garbage collector, excellent async support via Tokio, and the ability to ship a single static binary.
TokioAsync runtimePowers all our concurrent operations — process management, git operations, WebSocket connections, and PTY I/O.
SerdeSerializationUbiquitous serialization framework used throughout the codebase for IPC, JSON streaming, and database models.
TechnologyRoleWhy we chose it
React 19UI frameworkComponent-based architecture with a massive ecosystem. Runs inside Tauri’s webview.
TypeScriptLanguageStrict mode throughout — catches bugs at compile time and makes refactoring safe.
ZustandState managementMinimal, fast, and flexible. A single store with domain slices keeps state predictable without boilerplate.
ViteBuild toolInstant HMR in dev, optimized production builds. Tauri’s default frontend toolchain.
LucideIconsClean, consistent icon set with tree-shaking — only the icons we use end up in the bundle.
react-markdown + remark-gfmMarkdown renderingRenders agent chat messages with full GitHub Flavored Markdown support — tables, strikethrough, task lists.
MermaidDiagram renderingRenders sequence diagrams, flowcharts, and other diagrams embedded in agent output.
pdf.jsPDF renderingIn-app PDF viewing without leaving Claudette — useful for reviewing generated documents.
i18nextInternationalizationFramework for UI string translation, keeping user-visible text out of component logic.
react-resizable-panelsPanel layoutDrag-to-resize panels throughout the UI — sidebar, diff viewer, terminal split.
ansi_upANSI renderingConverts ANSI escape codes in agent output to styled HTML for display in chat.
TechnologyRoleWhy we chose it
xterm.jsTerminal emulatorFull-featured terminal rendering in the browser, with addons for link detection and responsive sizing.
portable-ptyPTY managementCross-platform pseudo-terminal creation from Rust — connects real shell sessions to xterm.js.
Monaco EditorCode editorThe editor that powers VS Code, embedded directly in Claudette for the diff viewer and plan editor.
ShikiSyntax highlightingTextMate grammar-based highlighting running in a Web Worker — never blocks the main thread. Integrated into Monaco via @shikijs/monaco.
TechnologyRoleWhy we chose it
SQLite (via rusqlite)DatabaseEmbedded, zero-config, local-first. All data stays on your machine in a single file.
TungsteniteWebSocketAsync WebSocket client for remote workspace connections.
rustlsTLSPure-Rust TLS backed by AWS Libcrypto (aws-lc-rs) — no OpenSSL dependency, easier cross-compilation.
reqwestHTTP clientAsync HTTP client used for plugin marketplace requests and plugin downloads.
rcgenCertificate generationGenerates self-signed TLS certificates for the embedded remote server — zero-config secure LAN access.
mDNS-SDService discoveryAutomatic LAN discovery of remote Claudette servers — no manual IP configuration needed.
TechnologyRoleWhy we chose it
mlua / LuauLua runtimeSandboxed Lua runtime (using Roblox’s typed Luau dialect) that powers SCM and env-provider plugins. Luau adds type annotations and safety guarantees over standard Lua.
TechnologyRoleWhy we chose it
CandleML inferenceHugging Face’s minimalist ML framework in Rust — runs local voice transcription models with Metal GPU acceleration on macOS. No Python, no server, no data leaves your machine.
cpalAudio I/OCross-platform microphone capture — abstracts Core Audio, WASAPI, and ALSA behind a single API.
tokenizersNLP tokenizationHugging Face tokenization library for preprocessing audio transcripts before inference.
rubatoAudio resamplingHigh-quality sample-rate conversion to normalize microphone input before sending to the model.
houndWAV I/OLightweight WAV file reader/writer for audio capture and playback.
TechnologyRoleWhy we chose it
AstroStatic site generatorFast builds, zero client-side JS by default, excellent MDX support.
StarlightDocs frameworkAstro’s official documentation theme — search, navigation, and dark mode out of the box.

Every technology choice reflects Claudette’s values:

  • Lightweight — Tauri + Rust means a tiny binary. No Electron, no 200MB runtime.
  • Local-first — SQLite keeps your data on your machine. Voice transcription runs entirely on-device via Candle. No cloud database, no account required.
  • Native performance — Rust backend handles concurrent agents, git operations, and terminal I/O without breaking a sweat.
  • Extensible — The Luau plugin system lets the community add SCM providers and env integrations without touching core Claudette code.
  • Open source all the way down — every dependency listed here is open source. You can audit the entire stack.