Strengths and tradeoffs
What the architecture gives you and what it costs — an honest list, no marketing.
Architecture is always a trade: every property is paid for with something else. Below are both sides of the trade, with no cherry-picking. First what the product’s design gives you, then what it costs and what you’ll have to do.
What the product’s design gives you
Section titled “What the product’s design gives you”| Strength | What it gives you |
|---|---|
| A single owner of meaning — the Rust core | The browser, the desktop app, and the server wrapper understand operations the same way. |
| One operations contract | You can change the interface and the transport without rewriting the spreadsheet engine. |
| Computing by visible area | A large workbook never unfolds entirely in the browser — only what’s needed right now is computed and drawn. |
| Running on your own machine, inside your own perimeter | Documents can stay inside your infrastructure and never leave. |
| Explicit refusals and revision checking | An error or someone else’s concurrent edit produces a refusal before the change, not a half-corrupted file. |
| A surface under your brand | The brand, the user journey, and the customer relationship all stay yours. |
What it costs
Section titled “What it costs”| Limit | What you’ll need |
|---|---|
| The public developer kit still needs to be separated from the internal contract. | Stable package names, versions, compatibility rules, examples, and a version support period. |
| The server wrapper isn’t a ready-made multi-tenant platform. | A gateway, a task queue, isolation, quotas, secret storage, metrics collection, and availability commitments. |
| The mobile kit is an editor page, not a library for your own screens. | Ready-made apps for phone and tablet are released, and the viewing kit is assembled from the same build: the core, the page, and the bridge. Your own screens in Swift and Kotlin on top of the bare core are separate work; there’s no public kit for it (Phone and tablet). |
| The core in the browser is limited by memory and by the browser’s rules. | Decisions on background threads, vector computation (SIMD), and multithreading, a fallback route, and calculated memory limits. |
| Matching Excel is finite and reached in stages. | An agreed capability matrix; what’s unsupported is honestly hidden or disabled, not made to look like it works. |
| Two parts to the runtime complicate releases. | Matched versions of the web part and the core, checksums, signing, and the ability to roll back to a previous version. |
- How these limits are verified before the contract — Readiness checklist.
- What’s already covered from this list, and what isn’t — the capability map and Risks and honest boundaries.