Projects
A collection of things I've built and learned from
surge-ts
ActiveA TypeScript type checker written from scratch in Rust. It reproduces tsc's diagnostics, validated differentially against a real TypeScript oracle and large npm codebases (zod, tRPC, ky, ofetch), with a heavy focus on checking speed and peak memory. Published to crates.io with a `surge` CLI.
RustTypeScriptCompilersoxcCLI
Aruna
ActiveA type-safe client–server networking framework for Roblox games built with roblox-ts. Define typed actions (RPC) and server→client signals with schema validation, rate limiting, middleware, and a binary wire codec, while a Rust compiler generates the RemoteEvent layer. Published to npm as the @arunajs/* package graph.
roblox-tsTypeScriptRustFrameworknpm
Loom
In ProgressA toolchain that previews Roblox UI in the browser with pixel- and behavior-identical fidelity. It's built around a framework-agnostic Scene IR that bridges swappable frontend adapters (React, vide) to a Rust→WASM layout engine and a DOM renderer, with a zero-config CLI and Vite plugin that run unmodified roblox-ts source.
RustWebAssemblyTypeScriptRobloxVite
vela-rbxts
In ProgressA Tailwind-style `className` styling layer for roblox-ts. It adds `className` to Roblox React elements and lowers the utility classes into Roblox UI props at build time through an rbxtsc transformer backed by a native Rust compiler, with a standalone Rust LSP providing completions, hover, and diagnostics.
roblox-tsRustTailwind CSSLSPRoblox
Draw a Tower
In ProgressRowCat
In ProgressAn AI character-chat and interactive-storytelling platform. Built on an existing web codebase, I extended it into a full product — a native iOS/Android app (Expo), a browser-extension importer, a social layer, a per-room context/lorebook engine, encrypted cross-device sync, and in-app purchases — across a Next.js, PostgreSQL, and Redis stack.
Next.jsExpoTypeScriptPostgreSQLRedis
Personal Website
ActiveMore projects available on GitHub