Experiments↗
01 / Selected projectSep 2026
A performance surf shop with six original, interactive 3D surfboards.
Behind the build +
Each shape is generated from board dimensions, rocker, rails and tail geometry, with resin finishes, stringers, traction pads and foiled fins. Scroll through the lineup and an exploded construction view, rotate and flip every board, or download its textured GLB model. A live volume finder and persistent demo cart complete the storefront, with responsive layouts, keyboard controls, reduced motion and a WebGL fallback. Seven browser scenarios and geometry checks cover the experience; checkout is a frontend demonstration.
Full stack: Three.js, TypeScript, GSAP, Vite, PBR materials, Procedural geometry, GLB export, Playwright, E-commerce UI
Tools & design↗
02 / Selected projectSep 2026
A developer workbench for understanding and testing algorithms.
Behind the build +
Explore 21 implementations: 12 sorts, five searches, and four graph algorithms, with reversible traces, editable inputs, and operation counts. Test JavaScript against 45 practice cases. Run local worker benchmarks with reproducible seeds, warmups, correctness checks, median and p95 timings, and saved baselines. Export CSV summaries or JSON reports with raw samples, compare implementations, and keep experiments and notes in a browser-local notebook.
Full stack: Developer tools, Algorithms, Performance testing, JavaScript, Web Workers
Tools & design↗
03 / Selected projectSep 2026
A Roman-inspired residential compound built in Blender, with 15 twin bedrooms around a shared courtyard.
Behind the build +
A classical entrance and furnished living pavilion connect to three five-room wings, with 30 matching beds, covered colonnaded walks, grass, tables, benches, and a small fountain basin. Photographic PBR materials and lighting bring the model into a rendered one-minute tour: 1,440 frames at 720p, from the entrance through a representative bedroom and the galleries to an aerial finish. The showcase includes chapter controls, a full-size render gallery, and an editable Blender file with all 29 texture images packed. An original digital architecture study, not an archaeological reconstruction or construction-ready design.
Full stack: Blender, Architectural design, Camera animation, 3D environment design, PBR materials, HTML & CSS, JavaScript
Experiments↗
04 / Selected projectSep 2026
A physics graphing workspace that turns spreadsheet measurements into fitted lines and uncertainty bounds.
Behind the build +
Import Excel or CSV, paste a table, or edit measurements directly, with optional uncertainty in both axes. Ordinary and weighted regression report residuals, confidence intervals, and fit statistics; a geometric solver finds the maximum and minimum slopes that intersect every included uncertainty box. Calculations run in a Web Worker, and batched Canvas rendering keeps experiments with 20,000 points responsive. Projects stay in the browser and export as SVG, PNG, CSV, or printable lab reports. Twelve automated tests include 4,000 randomized comparisons against an independent slope-bound solver.
Full stack: JavaScript, Physics, Data visualization, Web Workers, Canvas, Numerical methods, Regression, Automated testing
Tools & design↗
05 / Selected projectSep 2026
A research notebook that assesses the methodology described in a submitted experiment and runs separate, reproducible machine-learning benchmarks.
Behind the build +
Source findings include matched quotations, an evidence-support check, and explicit unresolved cases. Ten fixed scikit-learn protocols record paired measurements, seeds, splits, model parameters, and descriptive bootstrap intervals. The Vercel app keeps each visitor’s notebook in browser storage, supports live benchmarks, and uses a visitor-provided Haimaker key for AI analysis. Reports export as Markdown, CSV, JSON, or a replay bundle. Original-paper experiments are assessed from text, not independently reconstructed or executed.
Full stack: Python, FastAPI, scikit-learn, Research methodology, Reproducibility, IndexedDB, Vercel
Tools & design↗
06 / Selected projectSep 2026
An original hillside cottage built in Blender with Python, from its grassy roof and round green door to a fully furnished interior.
Behind the build +
Procedural geometry and materials form the oak-ribbed rooms, stone hearth, country kitchen, reading nook, and bedroom. A 38-second 1080p tour moves through seven shots over 912 frames, with an animated entrance and original meadow and fireplace ambience. The website includes the film, chapter controls, room gallery, and an editable Blender scene.
Full stack: Blender, Python, 3D environment design, Procedural modeling, Camera animation, Video
Tools & design↗
07 / Selected projectSep 2026
A browser flight recorder that turns a broken checkout into a replay you can investigate.
Behind the build +
I built a dependency-free JavaScript SDK to capture masked DOM snapshots, clicks, console errors and fetch timing, with throttled pointer tracking, batched delivery and bounded storage. The dashboard lets you scrub a session, jump to failed requests and compare the original checkout with a fixed build using captured events. Recordings stay on your device, replay runs in sandboxed frames, and an exported HTML report includes its own replay and assets. Eight automated tests cover masking, recorder cleanup, storage limits, comparison evidence and the record-to-report flow.
Full stack: JavaScript, Browser APIs, Session replay, MutationObserver, Service Workers, Privacy controls, Automated testing
Experiments↗
08 / Selected projectSep 2026
A computational wind tunnel that runs on your graphics card.
Behind the build +
A lattice Boltzmann fluid solver, the kind used in real CFD research, lives in WebGL shaders and updates half a million cells thousands of times a second. Reshape a NACA wing, drop a flap, pitch it until it stalls or flap it until it produces thrust; spin a cylinder and watch the Magnus effect bend the wake; heat the body and see a plume rise. Lift and drag are measured from the momentum the air hands to the body, the pressure distribution is plotted around the surface, and a one-button experiment sweeps the angle of attack. Smoke streaklines, pathlines, timelines, vorticity, speed, pressure, schlieren and heat views, plus a benchmark page that checks the solver against published cylinder data.
Full stack: Fluid dynamics, Lattice Boltzmann, WebGL2, GPU compute, Validated, WebGL, Canvas
Experiments↗
09 / Selected projectSep 2026
A weather map of Florida that does three bits of real meteorology live.
Behind the build +
It guesses the cloud base at every airport from temperature and dew point, then checks the guess against the airport's laser ceilometer. It turns station winds into a convergence field so you can watch the two sea breezes run into each other. And it lifts air parcels through the GFS forecast to work out how tall the afternoon storms can get. Radar, satellite and NWS alerts on top. Free data only, no API keys.
Full stack: Atmospheric physics, Leaflet, Open-Meteo, NOAA data, Next.js, React
Experiments↗
10 / Selected projectSep 2026
A Three.js visualization of an AI conversation as a neuron.
Behind the build +
Live model replies stream through an illustrative attention-and-MLP scene, with tool calls tracing the agent loop. Word highlights approximate reuse in the transcript, rather than exposing internal attention weights. Replay exchanges, compare two models, attach images, use browser tools, and take a guided tour of transformer concepts.
Full stack: Agent loop, Streaming, Transformer internals, Web Speech, xAI, Three.js, WebGL, GLSL, Web Audio, Canvas, Claude API
Tools & design↗
11 / Selected projectSep 2026
A Photoshop-style photo editor that lives in one HTML file.
Behind the build +
Layers, history, free transform, brushes, rulers, and saving and loading projects. Nothing gets uploaded and there is no account. It all runs on your own machine.
Tools & design↗
12 / Selected projectSep 2026
A browser-based tool for Airbnb and holiday-rental hosts.
Behind the build +
It builds a printable welcome book, house-rules sign and Wi-Fi card. Property details stay in the browser. Free previews are available; Pro purchases currently start with an email inquiry.
Tools & design↗
13 / Tools & designSep 2026
A school dashboard with period countdowns, class schedules, the 2026–2027 school calendar, live FLIK lunch menus and personal productivity tools.
Behind the build +
The public calendar and lunch menu work without a database; announcements, PrepTalks and admin editing can be enabled with a configured database and email service.
Full stack: Next.js, React, TypeScript, Tailwind CSS, School tools, Caching
Play↗
14 / PlaySep 2026
A browser-game launcher with catalog search, sorting, favorites, play history and save-data export.
Behind the build +
A service worker caches the app shell; game files are loaded from a third-party CDN. Built with plain JavaScript and no runtime dependencies.
Full stack: JavaScript, PWA, Vercel, Browser games
Tools & design↗
15 / Tools & designSep 2026
An interactive look at a personal sleep and wellbeing dataset, with daily charts, comparisons and a sleep explorer.
Behind the build +
Built as a static website with JavaScript, HTML and CSS.
Play↗
16 / PlaySep 2026
A pixel-art factory platformer written in plain JavaScript with no engine.
Behind the build +
Ten hand-drawn levels with conveyor belts, saws, a gear shop and cosmetics. I hooked a breadth-first search solver into the game loop to prove every level can actually be finished.
Full stack: Game engine, Level design, BFS solver, Canvas
Tools & design↗
17 / Tools & designSep 2026
A calculator whose maths is written in C++17.
Behind the build +
The expression parser and evaluator are compiled to WebAssembly with Emscripten and wrapped in a browser UI, so the number crunching runs natively in the WASM module.
Experiments↗
18 / ExperimentsSep 2026
A WebGL2 orb.
Behind the build +
A glassy blob slowly deforms while liquid light swirls around inside it. There is a small stable-fluids simulation so you can stir the liquid or burst it, plus live sliders for the parameters.
Experiments↗
19 / ExperimentsSep 2026
60,000 particles on the GPU settle onto the nodal lines of a vibrating plate, the same patterns you get from sand on a speaker.
Behind the build +
The solve happens in a vertex shader with Newton steps. Four resonance modes morph into each other, and clicking strikes the plate and sends out ripples.
Full stack: GPU particles, Physics, Three.js, WebGL, GLSL
Tools & design↗
20 / Tools & designSep 2026
A dark, clay-textured storefront for fine jewelry.
Behind the build +
All sixteen product images are inline SVG generated by code, faceted gems, bands and chains included, so the page needs no image files at all.
Tools & design↗
21 / Tools & designSep 2026
A landing page for a chocolate bar.
Behind the build +
Big editorial type, sections that move as you scroll, and a responsive layout in one HTML file with no dependencies.
Experiments↗
22 / ExperimentsSep 2026
A WebGL2 particle rendering of the Theotokos of Vladimir icon.
Behind the build +
Thousands of points rebuild the image and react to the pointer in real time.
Full stack: Particles, WebGL2, GLSL, GSAP, Canvas
Tools & design↗
23 / Tools & designSep 2026
Paste C++ and see its worst-case time and space complexity, the lines responsible, and how large your input can get.
Behind the build +
The analyzer is WebAssembly and runs entirely in your browser — your code never leaves the machine.
Experiments↗
24 / ExperimentsSep 2026
A topology optimizer in the browser.
Behind the build +
Paint supports and loads, and a SIMP optimizer with the finite-element solve running in WebGL2 shaders grows the stiffest structure for a given amount of material, live. Export it as an SVG outline or a 3D-printable STL.
Experiments↗
25 / ExperimentsSep 2026
An interplanetary mission designer in the browser.
Behind the build +
Every pixel of the launch-window map is a Lambert solve in a WebGL2 shader; Float64 orbital mechanics gives the numbers, the delta-v budget, gravity-assist sequences and an N-body check, and a 3D solar system flies the transfer.