Path Tracer
Progressive path tracing in a browser tab, denoised.
A physically-based path tracer with an SVGF denoiser. The denoiser is the entire point — it is what makes a handful of samples per pixel resolve into something that looks converged, instead of something that looks like sand.
raytracer.ciaranmccormack.com (opens in a new tab)Why denoising is the project
Brute-force path tracing converges, eventually, and "eventually" is not a frame budget. Spatiotemporal variance-guided filtering reuses history and steers its blur by variance, so edges survive while noise does not — the difference between a renderer you watch resolve and one you can actually move a camera through.
Stack
- WebGPU
- Path tracing
- SVGF denoising
- TypeScript
More labs
Keep looking
FlowRunner
LiveDesign pages. Run flows. Ship apps.
A no-code platform where a drag-and-drop page builder and a visual flow engine publish straight to live HTTP endpoints. The visible half is a builder; the interesting half is everything required to execute someone else’s logic on your infrastructure without regretting it.
- Next.js
- Turborepo
- QuickJS/WASM
- Ed25519
- +2
Trigata
LiveProcess automation for people who do not write code.
Structured data tables, custom forms, and trigger-based automations — send an email, call a webhook, run a scheduled job — behind fine-grained role-based access control. Aimed squarely at small-business teams with a process and no engineer.
- Next.js
- MongoDB
- QStash
- Zod
- +2
Read morewww.trigata.com (opens in a new tab)Band Tutor Buddy
LivePractice between lessons, for band kids.
Notation and tab that plays back, listens through the microphone, and tells a kid whether they actually hit the note. Built for the gap between weekly lessons — where nearly all the practice happens and nobody is there to correct anything.
- Next.js
- VexFlow
- Tone.js
- Pitch detection
- +1
Want the long version?
Happy to go deeper on any of this — architecture, trade-offs, what I would do differently.