My Projects

Things I've built

A closer look at what I've shipped — the problem, the approach, and what came out of it.

Undoes ASCII smuggling — instructions hidden from human reviewers in invisible Unicode, then read normally by an LLM. Handles all three sub-techniques the AI Agents Attack Matrix registers, for which it lists no mitigations.

TypeScript
LLM Security
Unicode
npm
Voltmesh

A marketing landing page for a fictional distributed GPU compute marketplace — WebGL hero, 13 composed sections, all copy decoupled from components, prerendered to 11 static routes with no backend.

Next.js 14
React 18
TypeScript
Tailwind CSS
Framer Motion
WebGL
Throughline

An issue tracker with a complete, replayable history — every change is an immutable event, so the board can be rewound to any point in time and restored from it.

Bun
Hono
Drizzle
React 19
Tailwind CSS 4
SQLite
Pouf

A puffy, pastel, kid-shaped UI kit for React. Claymorphism — like neumorphism but maximalist: bright, chunky, every surface a cushion. Distributed as a shadcn-style registry.

React
Tailwind CSS 4
Radix UI
TypeScript
shadcn registry
OpenTomo

An open AI chat companion you can actually talk to — speak or type, and it answers out loud with a lip-synced, expressive avatar.

React 19
TypeScript
AI SDK
Three.js
Hono
Bun
Relai

A WhatsApp appointment assistant for medical clinics — patients book, reschedule and cancel over chat, with AI replies, automatic reminders and an admin dashboard.

Bun
Hono
Baileys
Drizzle
SQLite
React
Purifai

Zero-dependency, TypeScript-native strip-to-text sanitizer with contextual output encoding — and a two-axis benchmark built after I found the original one was measuring the wrong thing.

TypeScript
XSS
Security
npm

React components that render by device type. v2 fixed a hydration mismatch that had been silently sending desktop markup to phone users on every server-rendered page, and iPad detection that classified every modern iPad as a desktop.

React
TypeScript
SSR
npm