I build software that lives close to the metal and ships to the edge.
12 years of web applications, from database to frontend. I daily-drive NixOS, write Rust and TypeScript, and build everything in the open — a Wayland compositor, bots on Cloudflare Workers, and a pastebin on R2.
- 12+years building software
- 25technical posts
- 300+GitHub stars
- Rust+ TypeScript, Nix
Selected work
All repositories →
Codebam Stream
Browser-first multistreaming in early access: OBS pushes one signal in over WHIP, your own watch page is the program output, and the same signal leaves again as RTMPS to YouTube, Twitch, X, Kick and Telegram. Cloudflare Workers, Durable Objects, D1 and LiveKit underneath, prepaid hours on top.
TypeScriptdurable-objectslivekitrtmps
Viewport
A Wayland compositor in Rust on Smithay whose entire shell — wallpaper, dock, window frames and titlebars — is a web page, composited zero-copy alongside native clients. Five interchangeable engine backends render that same page: WPE, WebKitGTK, Chromium, CEF and Servo.
Rustwaylandsmithaywpe-webkitSource
Telegram Bot for Cloudflare Workers
A lightweight, type-safe Telegram bot framework for Cloudflare Workers: handlers chain off the incoming Request, middleware runs before them, and one URL registers the webhook. 325 stars, 214 forks and 120 releases on npm.
TypeScriptcloudflaretelegramnpmSource
Tux Robot
The bot that grew out of the framework, rebuilt on grammY: one Cloudflare Worker for the conversation, Cloudflare AI for the answers, Tavily for web search and document retrieval, and a Svelte 5 web app in front of it all. Live at t.me/TuxRobot.
TypeScriptcloudflaretelegramgrammySource
Pastebin R2
A pastebin on Cloudflare Workers in TypeScript with Hono, storing objects in R2 behind a small REST API — create, update, list, info, delete — with syntax-highlighted and plain-text views, and pastes that expire on their own.
TypeScriptcloudflarer2honoSource
Latest writing
All 25 posts →How I survived a DDoS Flood
CloudFlare L3/L4 is amazing. Today I not only survived a DDoS attack. My site didn’t even go down. W Cloudflare!
EmDash and Cloudflare Workers
A post explaining that this blog has migrated from SvelteKit to EmDash
USB Cable Testing on Linux
usbmon turns Wireshark into a cable tester, and finds retransmissions on cables that supposedly work.
Secure Boot NixOS UKI Installer
A flake that builds a signed unified kernel image, for rescuing a Steam Deck locked out by Secure Boot.
Podman Quadlets
Quadlets describe a container as a systemd unit, so systemd owns the lifecycle instead of Podman.
Email bot
Cloudflare email routing plus Workers AI: an inbox that answers its own mail.