The TypeScript-Native
Desktop Framework
Build ultra-lightweight desktop applications in 100% TypeScript with native OS WebViews, zero-HTTP in-memory IPC, and zero Node.js/V8 bloat.
📚 Guides & Documentation
Electron Compatibility Scorecard →
Master API parity matrix, supported methods, IPC bridges, and desktop features.
Core API Reference →
Full documentation for BrowserWindow, ipcMain, ipcRenderer, app, dialog, and tray.
Framework Integrations →
Set up React 19, Vue 3, Svelte 5, Next.js static exports, and TailwindCSS desktop apps.
Migrating from Electron →
5-minute migration tutorial for moving existing Electron codebases to PicoTS.
Troubleshooting & FAQ →
Setup instructions for MinGW/C++ toolchains, performance FAQs, and debugging tips.
Roadmap to 1.0.0 →
Track our architecture scorecard, completed milestones, and upcoming 1.0 features.
Engineering Retrospective →
Deep dive into how the proof-of-concept was compiled, benchmarked, and engineered.
Why Developers Choose PicoTS
Sub-Megabyte Binaries
Compiles your entire desktop app into a single standalone executable (< 700 KB) with zero companion DLLs or runtime bloat.
Zero-HTTP Direct IPC
No localhost network ports or sockets. Communication happens directly over in-memory Windows COM / WebKit dispatch in < 0.08ms.
100% TypeScript
Write idiomatic TypeScript across both UI and native backend. No need to learn or write Rust, C++, or Go.
Hardware OS WebViews
Leverages Microsoft Edge WebView2 on Windows and Apple WebKit on macOS/Linux, eliminating 120MB+ Chromium bundles.
Native OS Capabilities
Built-in support for System Tray with context menus, Open/Save Dialogs, Toast Notifications, and Native Clipboard.
Instant Cold Start
Executes directly as native machine code via ScriptC LLVM AOT, booting up your desktop window in less than 100ms.
Architecture Comparison
| Feature | Electron | Tauri | PicoTS |
|---|---|---|---|
| Backend Language | JavaScript / TypeScript | Rust | 100% TypeScript |
| Backend Runtime | Node.js + V8 (~150MB) | Native Rust Binary | Native Machine Code (ScriptC AOT) |
| Binary Bundle Size | ~150 MB+ | ~5 MB – 15 MB | < 1 MB (< 700 KB) |
| Cold Start Time | 1.5s – 3.0s | 0.2s – 0.5s | < 0.1s (Instant) |
| Network Stack | HTTP / Mojo Sockets | Custom URI (ipc://) |
Zero-HTTP / Direct COM Memory |
| IPC Latency | ~0.5 ms | ~0.3 ms | < 0.08 ms |
| Learning Curve | Low | High (Requires Rust) | Zero (Standard TypeScript) |