WebGPU Vision Lab
Four image filters written twice, once as a Canvas2D loop and once as a WGSL compute shader, running on the same webcam frame side by side with honest timings.
Four image filters written twice, once as a Canvas2D loop and once as a WGSL compute shader, running on the same webcam frame side by side with honest timings.
Hand-tracked cursed-technique visualiser: MediaPipe landmarks drive a Three.js particle engine, with an ML classifier picking the technique in real time.
A 3D globe you steer with your hands: pinch to zoom, move your finger in mid-air to spin it. No camera? Drag, scroll, pinch with two fingers or use the arrow keys.
ASL fingerspelling to text from a webcam. It reads hand geometry instead of pixels, so all 26 letters work with no training, and two seconds of calibration per letter fits it to your own hand.
Face, hands and 33-point pose tracked at once, fusing MediaPipe Tasks with parallel TensorFlow.js detectors on a GPU-first backend.
Build voxel structures in the air over your webcam feed: pinch to place, pinch and drag to paint, make a fist to turn the build. A second synced page drives presets and shows live status.
A five-phase energy sequence that doubles as a calculus visualiser: the blue phase renders partial sums, asymptotic rings and Zeno-style halving.
Conic-section maths as a radar interceptor: solve focus and directrix from a moving target's parametric position.
Twelve real-time webcam effects in one photo booth, with a self-timer and a mirrored preview, each effect a separate per-pixel pass over the camera feed.
A webcam focus monitor that watches your head and posture while you study, and when you keep drifting off it opens the McDonald's careers page for you.
A desktop app that watches the webcam and, once you stop facing the screen, pulls Chrome to the front, launching it on Gmail if it is not open.
A gesture control layer for hand tracking, built as an Electron app over Python ML backends and now running its tracking front end in a browser too.
Control Windows with your body: Python does face, hand and pose fusion, C++ injects input through SendInput at low latency. No browser anywhere.
A webcam filter that reads your face and hands, picks a reaction pose, and stamps the artwork over your head, then publishes it to a virtual camera Meet, Zoom, Teams and Discord can select.
Python renderer for the blue + red → hollow purple sequence, running either on fixed timings or as a live hand-driven state machine.
A Three.js racing game you steer by tilting an Android phone. The phone app streams gravity-sensor roll and pedal presses at 30 Hz through a WebSocket relay on Vercel, and the keyboard works the whole time.
A first-person heist shooter in Three.js: three missions, guards that escalate from suspicious to combat, cover, grenades and a boss fight, plus an Android app that turns a phone into the controller by scanning a QR code.
Gaze-driven target trainer built on WebGazer, with a mouse fallback for anyone without a camera.
Rhythm lanes hit with your body: raise your left arm, your right arm or both. MediaPipe Pose reads the arms and the keyboard works the whole time.
Pong with your index finger as the paddle, MediaPipe tracking your hand, keyboard always available.
A Tetris rebuild that follows the Tetris Guideline: 7-bag randomizer, SRS wall kicks, 500 ms lock delay and T-spin scoring.
Snake with hazards, boosts and an arena that fights back.
Brick breaker with combo scoring and hand-tuned level progression.
Top-down wave survival: escalating enemy waves, upgrade choices between rounds.
Grid-based defence simulation where placement and power routing decide the outcome.
A one-button call-and-response rhythm game. The song plays a phrase, you tap it back a bar later, and every tap plays the next note of the melody. Three seeded tracks, judged against the moment each sound reached your ears.
A typing duel where every enemy strike is a word you can type to parry. Your own strike word keeps its progress while you switch to block, and the difficulty curve was tuned by a bot typist playing whole runs.
Black Box, the deduction game, with a live count of every atom layout that still fits the rays you have fired. Each board is generated from a seed and proven to have exactly one answer.
A platformer with no jump and no walking. The only control is choosing which way is down, plus one flip in mid-air that comes back when you land. Ten rooms, each proven finishable by a replayed route.
A pipe-routing puzzle played against a rising flow where every open arm floods. Levels are grown from seeded random spanning trees, so each one has a guaranteed route and a retry comes back identical.
A 26 KB neural network running entirely in a browser tab. Draw a digit, it classifies on device, and the page reports which execution provider it actually got and what the inference cost.
A reverse GitHub for AI-written work. Give it a repository, gist, pull request, package or web page and it returns a calibrated estimate of whether the work was AI-generated, with the file, commit or line that shows why.
Always-on desktop assistant listening for a wake phrase, then routing the spoken task straight into Gemini.
Captures whatever is on screen, asks Gemini to solve it, then types the answer into the app you're focused on.
A neural network that learns chess by distilling Stockfish, with MCTS on top and a proper Elo measurement against Stockfish itself.
An image classification pipeline trained to recognise meme formats from a curated dataset.
A resume analyser that reads a CV the way an applicant tracking system does, scores each bullet on Google's X-Y-Z formula, and measures coverage of a pasted job description with BM25 term weights.
The website is the app, Kivo wrapped in a Trusted Web Activity so one codebase gains a launcher icon, long-press shortcuts and native affordances.
Jot ideas, link the ones that go together, and tidy them into a clear map. Tab adds a linked idea, a pasted list becomes a map, and Pip, a thought bubble mascot, helps along the way.
Set four mood sliders and get a playlist you can see the reasoning behind, with a short preview that sounds like each track's mood.
Adaptive study system with 1,017 questions across 28 topics that learns which topics you're weak at and schedules what to review next.
A kinematics trainer that generates its own problems, marks them instantly and shows the full working either way.
A life operating system: one account holding Money, School, Commute, Life and Local, with a home brief that reads all five together to say what the day asks of you.
Invoices and quotes for people who bill by hand: type the lines, print the PDF, send it. The arithmetic is done in whole pennies so the total always matches the lines.
A business operating system. A business signs up, picks its type, and gets a public site, a customer record, a booking or order flow and numbers that all know about each other.
A Python playground for kids. Real Python 3.14 runs in the browser through Pyodide, and 24 missions across 8 levels go from print to a small adventure game, with turtle drawing and friendly explanations of Python errors.
Write the thing you've been too nervous to say; get two links: one to send, one to watch what happens.
Tells a developer whether a salary offer is fair, using GitHub signals, resume parsing, portfolio ingestion, LLM code evaluation and seeded market benchmarks.
A real tablet point-of-sale system running in a restaurant: menu, cart, tickets, inventory and reports, packaged as an Android app and doubling as a remote reporting site.
A Valorant strategy and line-up tool published on the Microsoft Store, built around a drawing system teams use to create, save and iterate on strategies locally.
A defensive web-security assessment platform: passive scans of headers, cookies, TLS, DNS and technology hints, graded A–F with a remediation report.
A CLI vault that encrypts a payload until a chosen date, binding the unlock date into the authenticated data so it cannot be edited after the fact.
A last-writer-wins CRDT with vector clocks and causal delivery, written from scratch, so three replicas can go offline, edit the same keys and reconverge without a server deciding anything.
A full Discord platform across four languages: a discord.js gateway bot, a Kotlin Ktor API as system of record, a React admin dashboard and an MCP server for control from inside ChatGPT.
Offline-first emergency dispatch: an Android SOS/driver app, an Electron dispatch desk with offline maps, and a web mirror, all of them speaking a shared protobuf schema.
A live-stream interactivity bridge: a server and bridge layer that turn viewer actions into real-time events.
A routing simulator implementing and comparing pathfinding strategies under changing network conditions.
Five rate limiting algorithms replaying the same traffic side by side, plus a node:http middleware that advertises quota with the IETF RateLimit headers.
An Idempotency-Key middleware for node:http built to the IETF draft, and a seeded simulation of 200 customers retrying payments through a lossy network, with and without it.
Jittered backoff, an SRE retry budget and a circuit breaker, with seeded simulations of a contended database row and of a retry storm that outlives the outage that started it.
XFetch early expiration, single-flight, memcache leases and stale-while-revalidate, compared on one seeded simulation of a hot cache key expiring in front of a database.
A vnode ring, jump hash, rendezvous hashing and bounded loads, compared with hash % n on one seeded key set: how evenly each spreads keys and how many move when a cache node joins.
Fan-out tail amplification, hedged requests on idle and loaded replicas, and power-of-two-choices load balancing, each simulated on seeded runs and checked against its closed form.
A Go service that ranks work from impact, urgency, effort and risk, written as idiomatic package-per-concern Go with table-driven tests.
A Rust CLI that prioritises a backlog using WSJF, the weighted-shortest-job-first formula, and packs the result into an effort budget.
A small Java planner that picks a sprint from your backlog CSV, packing the effort you have for the most total value, and says why each task was left out.
A focus timer that keeps time when you switch tabs, rings when time's up, and shows where your week went. Ember, a little spark mascot, keeps you company.
Scores a backlog by leverage, value per unit of effort discounted by confidence, then packs the week against a real budget and tells you what it left out.
Windows-first Electron app for consent-based activity tracking with analytics, exports and sharing, running quietly from the system tray.
A local Windows dashboard that measures Wi-Fi disruption as you walk around a home or office, turning dead zones into data.
A small Windows GUI input presser, repeat keyboard combinations or a mouse button, which makes it an auto clicker too. Settings persist between runs.
A dependency-free CLI that scaffolds a runbook from a project's own package.json and checks READMEs and runbooks by their real headings, with a score and a CI gate.
Ranks engineering work by value over effort and packs the week's budget for the most total value, with the same planner in Python and in the browser.
An engineering standards system, build order, craft rules and a review gate, including a register of what AI-assisted building measurably gets wrong, drawn from 60+ verified primary sources.
Drop in a bank or card CSV and see every recurring charge: what it costs a year, which prices went up, which ones stopped and when each renews.
Split costs with friends and settle up in the fewest payments. EvenUp writes the pay-me-back message for you, and Penny, a coin mascot, helps along the way.
What time works for everyone? Add where each person is and the hours they work, and GoodHours shows the times inside everyone's day, in each person's own time. It warns you when clocks are about to change and writes the invite for you. Sol, a little sun, helps along the way.
How much paint does my room need, and which tins should I buy? Measure the room and RoomCoat works it out, doors, windows, ceilings and new plaster counted, then picks the cheapest mix of tin sizes. Dab, a paint tin, helps along the way.
Make any recipe bigger, smaller or fit the pan you have. Paste the ingredients, say how many it should feed or which pan you are using, and get amounts you can actually measure, in cups and spoons or grams. Scoop, a measuring cup, helps along the way.
A fair chore rota for a shared house or a family. Add who lives there and what needs doing, and ChoreShare splits the jobs by time, rotates the worst ones and writes the group chat message. Suds, a soap bubble, helps you set it up.
Type what each shelf label says and see which pack is really cheaper, per 100 g, per litre or per item, with multi-buy offers counted properly. Tag, a price tag mascot, points out the traps.
A 26 KB neural network running entirely in a browser tab. Draw a digit, it classifies on device, and the page reports which execution provider it actually got and what the inference cost.
Four image filters written twice, once as a Canvas2D loop and once as a WGSL compute shader, running on the same webcam frame side by side with honest timings.
Hand-tracked cursed-technique visualiser: MediaPipe landmarks drive a Three.js particle engine, with an ML classifier picking the technique in real time.
A 3D globe you steer with your hands: pinch to zoom, move your finger in mid-air to spin it. No camera? Drag, scroll, pinch with two fingers or use the arrow keys.
ASL fingerspelling to text from a webcam. It reads hand geometry instead of pixels, so all 26 letters work with no training, and two seconds of calibration per letter fits it to your own hand.
Face, hands and 33-point pose tracked at once, fusing MediaPipe Tasks with parallel TensorFlow.js detectors on a GPU-first backend.
Build voxel structures in the air over your webcam feed: pinch to place, pinch and drag to paint, make a fist to turn the build. A second synced page drives presets and shows live status.
A five-phase energy sequence that doubles as a calculus visualiser: the blue phase renders partial sums, asymptotic rings and Zeno-style halving.
Conic-section maths as a radar interceptor: solve focus and directrix from a moving target's parametric position.
Twelve real-time webcam effects in one photo booth, with a self-timer and a mirrored preview, each effect a separate per-pixel pass over the camera feed.
A webcam focus monitor that watches your head and posture while you study, and when you keep drifting off it opens the McDonald's careers page for you.
A Three.js racing game you steer by tilting an Android phone. The phone app streams gravity-sensor roll and pedal presses at 30 Hz through a WebSocket relay on Vercel, and the keyboard works the whole time.
A first-person heist shooter in Three.js: three missions, guards that escalate from suspicious to combat, cover, grenades and a boss fight, plus an Android app that turns a phone into the controller by scanning a QR code.
Gaze-driven target trainer built on WebGazer, with a mouse fallback for anyone without a camera.
Rhythm lanes hit with your body: raise your left arm, your right arm or both. MediaPipe Pose reads the arms and the keyboard works the whole time.
Pong with your index finger as the paddle, MediaPipe tracking your hand, keyboard always available.
A Tetris rebuild that follows the Tetris Guideline: 7-bag randomizer, SRS wall kicks, 500 ms lock delay and T-spin scoring.
Snake with hazards, boosts and an arena that fights back.
Brick breaker with combo scoring and hand-tuned level progression.
Top-down wave survival: escalating enemy waves, upgrade choices between rounds.
Grid-based defence simulation where placement and power routing decide the outcome.
Jot ideas, link the ones that go together, and tidy them into a clear map. Tab adds a linked idea, a pasted list becomes a map, and Pip, a thought bubble mascot, helps along the way.
Set four mood sliders and get a playlist you can see the reasoning behind, with a short preview that sounds like each track's mood.
A focus timer that keeps time when you switch tabs, rings when time's up, and shows where your week went. Ember, a little spark mascot, keeps you company.
Adaptive study system with 1,017 questions across 28 topics that learns which topics you're weak at and schedules what to review next.
A kinematics trainer that generates its own problems, marks them instantly and shows the full working either way.
Scores a backlog by leverage, value per unit of effort discounted by confidence, then packs the week against a real budget and tells you what it left out.
Invoices and quotes for people who bill by hand: type the lines, print the PDF, send it. The arithmetic is done in whole pennies so the total always matches the lines.
A business operating system. A business signs up, picks its type, and gets a public site, a customer record, a booking or order flow and numbers that all know about each other.
A Python playground for kids. Real Python 3.14 runs in the browser through Pyodide, and 24 missions across 8 levels go from print to a small adventure game, with turtle drawing and friendly explanations of Python errors.
A reverse GitHub for AI-written work. Give it a repository, gist, pull request, package or web page and it returns a calibrated estimate of whether the work was AI-generated, with the file, commit or line that shows why.
A desktop app that watches the webcam and, once you stop facing the screen, pulls Chrome to the front, launching it on Gmail if it is not open.
A gesture control layer for hand tracking, built as an Electron app over Python ML backends and now running its tracking front end in a browser too.
Ranks engineering work by value over effort and packs the week's budget for the most total value, with the same planner in Python and in the browser.
Five rate limiting algorithms replaying the same traffic side by side, plus a node:http middleware that advertises quota with the IETF RateLimit headers.
An Idempotency-Key middleware for node:http built to the IETF draft, and a seeded simulation of 200 customers retrying payments through a lossy network, with and without it.
Jittered backoff, an SRE retry budget and a circuit breaker, with seeded simulations of a contended database row and of a retry storm that outlives the outage that started it.
XFetch early expiration, single-flight, memcache leases and stale-while-revalidate, compared on one seeded simulation of a hot cache key expiring in front of a database.
A vnode ring, jump hash, rendezvous hashing and bounded loads, compared with hash % n on one seeded key set: how evenly each spreads keys and how many move when a cache node joins.
Fan-out tail amplification, hedged requests on idle and loaded replicas, and power-of-two-choices load balancing, each simulated on seeded runs and checked against its closed form.
Drop in a bank or card CSV and see every recurring charge: what it costs a year, which prices went up, which ones stopped and when each renews.
Split costs with friends and settle up in the fewest payments. EvenUp writes the pay-me-back message for you, and Penny, a coin mascot, helps along the way.
What time works for everyone? Add where each person is and the hours they work, and GoodHours shows the times inside everyone's day, in each person's own time. It warns you when clocks are about to change and writes the invite for you. Sol, a little sun, helps along the way.
How much paint does my room need, and which tins should I buy? Measure the room and RoomCoat works it out, doors, windows, ceilings and new plaster counted, then picks the cheapest mix of tin sizes. Dab, a paint tin, helps along the way.
Make any recipe bigger, smaller or fit the pan you have. Paste the ingredients, say how many it should feed or which pan you are using, and get amounts you can actually measure, in cups and spoons or grams. Scoop, a measuring cup, helps along the way.
A fair chore rota for a shared house or a family. Add who lives there and what needs doing, and ChoreShare splits the jobs by time, rotates the worst ones and writes the group chat message. Suds, a soap bubble, helps you set it up.
Type what each shelf label says and see which pack is really cheaper, per 100 g, per litre or per item, with multi-buy offers counted properly. Tag, a price tag mascot, points out the traps.
A one-button call-and-response rhythm game. The song plays a phrase, you tap it back a bar later, and every tap plays the next note of the melody. Three seeded tracks, judged against the moment each sound reached your ears.
A typing duel where every enemy strike is a word you can type to parry. Your own strike word keeps its progress while you switch to block, and the difficulty curve was tuned by a bot typist playing whole runs.
Black Box, the deduction game, with a live count of every atom layout that still fits the rays you have fired. Each board is generated from a seed and proven to have exactly one answer.
A platformer with no jump and no walking. The only control is choosing which way is down, plus one flip in mid-air that comes back when you land. Ten rooms, each proven finishable by a replayed route.
A pipe-routing puzzle played against a rising flow where every open arm floods. Levels are grown from seeded random spanning trees, so each one has a guaranteed route and a retry comes back identical.
A last-writer-wins CRDT with vector clocks and causal delivery, written from scratch, so three replicas can go offline, edit the same keys and reconverge without a server deciding anything.
A life operating system: one account holding Money, School, Commute, Life and Local, with a home brief that reads all five together to say what the day asks of you.
The website is the app, Kivo wrapped in a Trusted Web Activity so one codebase gains a launcher icon, long-press shortcuts and native affordances.
Write the thing you've been too nervous to say; get two links: one to send, one to watch what happens.
A defensive web-security assessment platform: passive scans of headers, cookies, TLS, DNS and technology hints, graded A–F with a remediation report.
Tells a developer whether a salary offer is fair, using GitHub signals, resume parsing, portfolio ingestion, LLM code evaluation and seeded market benchmarks.
A real tablet point-of-sale system running in a restaurant: menu, cart, tickets, inventory and reports, packaged as an Android app and doubling as a remote reporting site.
A full Discord platform across four languages: a discord.js gateway bot, a Kotlin Ktor API as system of record, a React admin dashboard and an MCP server for control from inside ChatGPT.
Offline-first emergency dispatch: an Android SOS/driver app, an Electron dispatch desk with offline maps, and a web mirror, all of them speaking a shared protobuf schema.
A Valorant strategy and line-up tool published on the Microsoft Store, built around a drawing system teams use to create, save and iterate on strategies locally.
Windows-first Electron app for consent-based activity tracking with analytics, exports and sharing, running quietly from the system tray.
Always-on desktop assistant listening for a wake phrase, then routing the spoken task straight into Gemini.
Captures whatever is on screen, asks Gemini to solve it, then types the answer into the app you're focused on.
Control Windows with your body: Python does face, hand and pose fusion, C++ injects input through SendInput at low latency. No browser anywhere.
A webcam filter that reads your face and hands, picks a reaction pose, and stamps the artwork over your head, then publishes it to a virtual camera Meet, Zoom, Teams and Discord can select.
Python renderer for the blue + red → hollow purple sequence, running either on fixed timings or as a live hand-driven state machine.
A neural network that learns chess by distilling Stockfish, with MCTS on top and a proper Elo measurement against Stockfish itself.
An image classification pipeline trained to recognise meme formats from a curated dataset.
A local Windows dashboard that measures Wi-Fi disruption as you walk around a home or office, turning dead zones into data.
A small Windows GUI input presser, repeat keyboard combinations or a mouse button, which makes it an auto clicker too. Settings persist between runs.
A live-stream interactivity bridge: a server and bridge layer that turn viewer actions into real-time events.
A CLI vault that encrypts a payload until a chosen date, binding the unlock date into the authenticated data so it cannot be edited after the fact.
A resume analyser that reads a CV the way an applicant tracking system does, scores each bullet on Google's X-Y-Z formula, and measures coverage of a pasted job description with BM25 term weights.
A routing simulator implementing and comparing pathfinding strategies under changing network conditions.
A dependency-free CLI that scaffolds a runbook from a project's own package.json and checks READMEs and runbooks by their real headings, with a score and a CI gate.
A Go service that ranks work from impact, urgency, effort and risk, written as idiomatic package-per-concern Go with table-driven tests.
A Rust CLI that prioritises a backlog using WSJF, the weighted-shortest-job-first formula, and packs the result into an effort budget.
A small Java planner that picks a sprint from your backlog CSV, packing the effort you have for the most total value, and says why each task was left out.
An engineering standards system, build order, craft rules and a review gate, including a register of what AI-assisted building measurably gets wrong, drawn from 60+ verified primary sources.