Exclusive

An exclusive new experience — React Native support is on its way to Planby!

LogoCreated with Sketch.planby
Description
Pricing🔥
High Performance

React Scheduler forLarge Datasets

Planby is a high-performance React scheduler and timeline component with virtualization for large datasets (10k+ events).

Virtual rendering, windowing, minimal DOM footprint, and smooth 60fps scroll — built for production apps that can't afford to lag.

npm install @nessprim/planbySee 10k Events Demo
10,000+
Events rendered
without performance loss
60fps
Scroll performance
even with dense data
~45KB
Bundle size
gzipped
<50
DOM nodes
visible at any time
01

Virtual Rendering

Planby uses virtual rendering to paint only the events that are currently visible in the viewport. Events outside the view are not in the DOM at all — they exist only as data.

This means loading 10,000 events looks identical to loading 100 from the browser's perspective. The scheduler calculates which items intersect the current viewport rectangle and renders only those.

  • Events outside viewport are never mounted
  • Instant initial render regardless of dataset size
  • No progressive loading or pagination needed
  • Memory footprint stays constant

THE RESULT

10,000 events loaded

~50 DOM nodes

1,000 events loaded

~50 DOM nodes

100 events loaded

~50 DOM nodes

DOM node count is determined by viewport size, not dataset size.

02

Windowing

Windowing (also called list virtualization) means the scheduler only renders the rows and columns that fit in the current window — the "window" of visibility.

Both horizontal (time axis) and vertical (channels/resources axis) windowing are applied simultaneously. Scrolling in any direction swaps old items out and new items in — all without the user noticing any change.

  • Bidirectional windowing: horizontal & vertical
  • Overscan buffer keeps scroll feel instant
  • Works with dynamic row heights
  • No layout shifts during scroll

10,000 nodes

Without windowing

All events in DOM

~40 nodes

With windowing

Only visible rows

800ms+

Initial render

Without windowing

<16ms

Initial render

With windowing

03

Minimal DOM Footprint

A large DOM is the most common cause of slow React apps. Layout thrashing, style recalculations, and garbage collection overhead grow linearly with DOM size.

Planby keeps its DOM footprint constant regardless of how many events you load. The number of rendered nodes depends on viewport size, not dataset size. This makes it predictable and profiler-friendly.

DOM node count comparison (1000 events loaded):

FullCalendar

8,000+

React Big Calendar

5,000+

Planby

~50

Why DOM footprint matters

  • Each DOM node consumes memory — fewer nodes = less GC pressure
  • Browser layout is O(n) with DOM size — small DOM = instant reflow
  • React reconciliation is faster with fewer fiber nodes to diff
  • DevTools, accessibility tree, and event bubbling all benefit
  • Mobile browsers have 3–5x less memory headroom
04

Smooth Scroll Performance

Smooth scrolling in a data-heavy scheduler is a hard engineering problem. Planby solves it by keeping the critical rendering path as short as possible.

Scroll events trigger a position recalculation, which updates only the items that enter or leave the viewport. React sees a small, surgical diff — not a full re-render of thousands of components.

16ms

Frame budget

60fps target

~2ms

Scroll handler

typical execution

~4ms

React diff

small item swap

~8ms

Paint time

remaining budget

Scroll optimizations built-in

  • Passive scroll listeners — never blocks main thread
  • Position calculation happens outside React render cycle
  • CSS transforms for item positioning — no layout thrashing
  • Overscan renders a small buffer outside viewport for seamless feel
  • Debounced heavy operations (search, filtering) separate from scroll
  • will-change: transform hint for GPU compositing

Works with real-time updates too

WebSocket streams, live data, and frequent state updates don't degrade scroll performance. React only re-renders the changed items, not the entire grid.

05

10k Events Demo

The live demo below uses Planby's scheduler with virtualization enabled. Scroll horizontally and vertically — the frame rate stays at 60fps because only visible events are in the DOM at any time.

🗓️ Advanced Scheduler

Scheduler

BusinessPersonalPlannerSchedule

Your scheduler with drag and drop, overlapping events, grid layout, and more.

Timezones

Drag and Drop

Resize elements

Overlap events

Grid layout / events

ℹ️ Note: Drag and drop “multi-rows” with “layer” overlap mode is still in test mode.

Full Example
Monitored global - 60 min (drag me)
Inverse flexibility - 22 min (drag me)
Secured paradigm - 45 min (drag me)
10:00am
11:00am
12:00pm
1:00pm
2:00pm
3:00pm

How Planby Handles Large Datasets — Technical Summary

Data layer

  • Events are stored as flat arrays — no nested tree structures
  • Position calculation (x, y, width) done once on mount or data change
  • Sorted by start time for O(log n) binary search during viewport calc
  • Timezone offsets pre-applied — no runtime math during scroll

Render layer

  • Absolute positioning for all items — no flexbox/grid reflow cost
  • React.memo on each event component — no wasted re-renders
  • Stable item keys prevent React from unmounting/remounting
  • Canvas fallback available for extreme density (50k+ events)
💎 Pricing Plans

Your Perfect Plan Awaits

Built for React and React Native teams. Start with what you need. Grow when you're ready.

Get exclusive access to Planby PRO features

Solo 🥳

$

19

/ month

⭐ MOST POPULAR

PRO

🚀

$

25

/ month

  • Ready-to-use code examples
  • Team access
  • Portal Planby access
  • PRO Documentation
  • Updates included
  • 🎁7 days free trial
  • Commercial
  • License key

Custom 👨‍💻

Enterprise

  • Everything included in PRO
  • Enterprise exclusive features
  • One-on-one onboarding
  • Expert Consultation
  • Premium support
  • Commercial

Build Your High-Performance Scheduler Today

Start free. No performance compromises.

Try Live DemoReact Scheduler Docs

Explore More Solutions:

React Scheduler →React Timeline →React EPG →React Calendar →React Planner →React Event Schedule →

planby

The most powerful React scheduler & timeline component for building modern scheduling interfaces.

Twitter

Product

HomeDemoPricingWhy Planby

© 2026 Nessprim Karol Kozer. All rights reserved.

Built with ❤️ for developers