Building OrderCraft: A Local-First Financial Charting Terminal in a Single ~14MB Go Binary
说明与用途
OrderCraft 是一个完全本地化的金融图表终端,使用 Go 和 React 构建,消除了云 SaaS 限制和许可问题,提供快速数据流和本地存储。
问题
Cloud SaaS financial charting platforms lock technical analysis behind subscriptions, restrict free users, and force data into the cloud, while hosted open‑source alternatives face IP rate limits and redistribution licensing fees.
结果
OrderCraft provides a fully local, open‑source financial charting terminal that eliminates cloud dependencies, avoids IP rate limits and redistribution fees, and offers high‑performance WebSocket streams, multi‑chart workspaces, and local persistence.
工作流
- Compile Go backend with embedded React SPA using //go:embed
- Cross‑compile binary for Windows, macOS, and Linux
- Run ./ordercraft --app-mode to launch a frameless desktop window
- Connect to public WebSocket feeds (Binance, Bybit, Coinbase) or BYOK broker APIs (Alpaca, OANDA)
- Normalize ticks, aggregate into OHLCV bars, fan out via local WebSocket hub
- Persist historical bars, layouts, drawings, and API keys in local SQLite with 0600 permissions
- Use custom Canvas 2D drawing primitives for trendlines, Fibonacci, channels, risk‑reward calculators, and multi‑pane workspaces
证据
Modern financial charting platforms have converged on the same frustrating cloud SaaS model: lock basic technical analysis behind $15 to $60/month subscriptions, restrict free users to 2 indicators per chart, paywall multi-chart split-screen layouts, and force all your watchlists and layouts into their cloud.
On the flip side, developers who try to build hosted open-source alternatives hit two massive walls almost immediately: IP Rate Limits and Market Data Redistribution Licensing.
OrderCraft (v0.1.0, MIT License) — a high-performance, 100% local-first financial charting and technical analysis terminal built with Go, React 19, TypeScript, and Lightweight Charts (Apache-2.0).
The entire frontend (React 19, TypeScript, Vite) compiles down into static assets and is embedded directly into the Go binary using //go:embed.
All historical OHLCV candle caches, multi-pane workspace layouts, custom chart drawings, indicator templates, and BYOK brokerage credentials are stored in a local SQLite database.
- 记录日期: 2026-11-02T16:14:20.626Z