Our scheduler is so fast it can rickroll you Bryntum has released a demo that uses its Scheduler component to play Rick Astley's "Never Gonna Give You Up" by rendering video frames as event bars, with each frame sampled into an 86 by 48 grid and compressed into up to 20 color segments per row. The demo, built with Claude Code and the Bryntum MCP server, is available on GitHub and requires no license to run. Our Scheduler is so fast it can rickroll you We strive to keep posts updated, but code samples may sometimes be outdated. Humans, see the Bryntum documentation ; agents, https://mcp.bryntum.com for the latest info. We care a lot about how fast Bryntum Scheduler https://bryntum.com/products/scheduler/ is, and about whether it schedules correctly. We’ve written about lazy loading data https://bryntum.com/blog/how-to-lazy-load-data-with-the-bryntum-scheduler/ , so a timeline holding a year of bookings only loads the slice you’re looking at, and about benchmarking React Gantt libraries for scheduling correctness https://bryntum.com/blog/a-react-gantt-benchmark-for-scheduling-correctness/ . We want the Scheduler to be performant, regardless of the project you use it for, so now and then we throw a workload at it to test its limits. This one started as a question: can a Scheduler rickroll you? We handed the problem to Claude Code with the Bryntum MCP server https://bryntum.com/products/scheduler/docs/guide/Scheduler/ai-features/mcp-server and Bryntum skills https://github.com/bryntum/skills installed. With a little help, it gave us a working app: You can try the demo yourself by cloning the Bryntum Scheduler rickroll GitHub repository https://github.com/bryntum/bryntum-scheduler-rickroll , installing dependencies with npm install , and starting the dev server with npm run dev . It uses the Bryntum Scheduler trial package, so no license is needed to run it. Turning video frames into Scheduler events The demo takes any video file, samples each frame, and repaints it using nothing but Scheduler event bars. Every colored rectangle is a real event record in the event store, sitting on a resource row, drawn through the same rendering path a regular scheduler, such as a maintenance schedule, uses. This works because a video is a sequence of colored rectangles, and a Scheduler already draws colored rectangles. We can get from one to the other in five steps: load the video into a detached element, sample each frame on a canvas, compress each row into color segments, map those segments onto a fixed event pool, and draw the pooled events with eventRenderer . Nothing in that loop is created or destroyed after startup. Each stage rewrites values that already exist, which is what keeps a frame cheap. Loading the video into a detached element The demo loads the chosen file, using a Bryntum File Picker https://bryntum.com/products/scheduler/docs/api/Core/widget/FilePicker , into a detached, muted, looping