React Server Component page shell that loads the p5.js renderer only on the client, so the canvas runtime never evaluates during server rendering
One p5.js canvas that draws the whole phone on a single internal coordinate system while the page scales the outer frame responsively
Notification engine with a manager, grouped-notification models, and generators organized by category - development, finance, social, productivity, lifestyle, and more
State modules for authentication, quick settings, passcode, fake OS, camera, and menu bar, kept as separate concerns
One input layer that funnels mouse, touch, drag, swipe, and keyboard events through a shared handler without hijacking normal page scroll
Performance guards: assets and icons preload up front, and the draw loop pauses when the phone is off-screen or the tab is hidden