A curated collection of interactive web experiments, creative visualizations, and generative art built with modern web technologies.
An ever-growing playground where ideas come to life through code.
Ritik's Lab is a personal laboratory for interactive web experiments and creative coding explorations. Each experiment is a self-contained, fully interactive piece that runs directly in the browser - no installs, no dependencies, just open and play.
The lab is designed as a living collection that keeps growing over time. New experiments are added regularly across a wide range of topics. The entire platform is built around a convention-based architecture - creating a new experiment is as simple as dropping a folder into the experiments directory. It auto-registers in the sidebar, home grid, and routing without touching a single config file.
- 34+ themes - every experiment adapts to your chosen theme in real time, powered by DaisyUI's theme engine
- Configurable animation speeds - choose between instant, swift, smooth, or gentle transitions globally across the UI
- Fully responsive - the dashboard, sidebar, and every experiment work seamlessly across desktop, tablet, and mobile
- Native browser APIs - all visualizations are built on top of Canvas, Web Audio, and other standard web APIs with zero external runtime overhead
- Auto-discovery - drop a new folder into the experiments directory with a
page.tsxand an optionalmeta.json, and it appears everywhere automatically - Persistent preferences - theme selection and animation speed are saved to local storage and restored on revisit
A mesmerizing polyrhythmic metronome visualization rendered on HTML Canvas. 21 concentric arcs rotate at mathematically related speeds, producing a hypnotic visual pattern. Toggle sound to hear each arc produce a tone when it hits an endpoint - choose between sine, bell, and sawtooth wave instruments. The colors adapt dynamically to the active DaisyUI theme using a primary-to-secondary HSL gradient.
Concepts: Canvas 2D rendering • Web Audio API • oscillator synthesis • polyrhythmic timing • HSL color interpolation • theme-reactive palettes
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| UI Library | React 19 |
| Language | TypeScript 5 |
| Styling | Tailwind CSS 4 + DaisyUI 5 |
| Fonts | Days One (display) • Outfit (body) • Space Mono (monospace) |
| Icons | Gliff (Font Awesome unicode icons) |
| Linting | Biome 2 |
| Package Manager | pnpm |