§ Mobile Apps / 60 fps Everywhere

Buttery, always.

60 fps on the devices your customers actually own — not just the latest flagship. We profile, thread-offload and optimise until every scroll and transition is indistinguishable from a native platform app.

§ Live fps — this page
60fps

— Measured via requestAnimationFrame

§ Standard — What we target
0 fps

Target frame rate

0 ms

Frame budget

0 drops

On critical paths

§ Demo — Smooth vs janky

The difference is felt

60 fps
~15 fps
§ Techniques — How we get there

Four principles

JS thread budget

We profile every heavy computation, move it to a worker thread or defer it — the main thread stays free for the next frame.

Flat view hierarchies

Deep nested views force the OS to traverse and rasterize more layers. We keep trees shallow and mark stable surfaces opaque.

Native driver animations

Animations run on the UI thread in native code, bypassing the JS bridge entirely. No dropped frames under CPU load.

FlatList + windowing

Long lists render only what's in the viewport. Off-screen items are recycled — memory stays flat, scroll stays silky.

No more dropped frames on launch day.