
A vacuum never stays empty for long. We said good riddance to a CMS and built our own tools instead.
We rebuilt handsontable.com on Astro and Cloudflare with no CMS: what we skipped, what we built instead, and two internal tools that came out of it.

We rebuilt handsontable.com on Astro and Cloudflare with no CMS: what we skipped, what we built instead, and two internal tools that came out of it.

A browser fleet from an xAI netblock crawled our docs overnight and found the AI chat. Why the rate limiter never fired, and why we deflected, not blocked.

A benchmark said we ran out of memory at 500,000 rows. Three weeks and 31 pull requests later, one million rows render with the lowest heap in the test.

Why we built demos.handsontable.com, how a two-tier runtime works behind a single adapter, and everything that broke along the way.

How we moved Handsontable’s 342,000-line codebase from JavaScript to TypeScript after years of postponing it, without changing a single end-to-end test.

A design-led guide to building scalable table components.

Following the Chrome 133 clipboard operations have stopped functioning.

TypeScript’s type system, superset relation to JavaScript, and growing popularity are set to make TypeScript a Handsontable’s darling.

Why Handsontable 8.3.0 moved to a modular package, what modules are in JavaScript, and how importing only what you need shrinks your bundle.

We’ve updated Handsontable to fix the security issues recently found in the audit carried out by Securitum.
Let’s make it easier.
Smoother. Faster. All Handsontable.