PROBLEMProblem
Teams rebuild animation and interactive UI twice — once for web, once for mobile — and reach for heavy game engines or pre-baked tools (Lottie/Rive) that cannot express real dynamics. There was no single 2D engine that runs the same TypeScript on both targets, stays SEO-indexable and accessible, and still gives you physics, particles, and an ECS when you need them.
APPROACHApproach
Modular 2D engine on Skia (native) + CanvasKit (web). 40 tree-shakeable packages, zero-alloc hot paths, bitmask ECS, named exports only. The same code drives either a GPU canvas or real DOM via CSS transforms — SEO-perfect (see the page-collapse on this site).
ARCHITECTUREArchitecture
RESULTResult
40 scoped @flare-engine/* packages, 2,288 engine tests, dual CJS+ESM builds behind a CI-enforced downward-only dependency graph. Consumed from npm by Pan Tvardowski (a full game) and dogfooded on the web via flareengine.dev CanvasKit demos. On-device verification so far is one mid-tier Android (Galaxy A54); iOS deferred. Public OSS launch targeted autumn 2026.