I build operating systems and language toolchains. Right now that means a bare-metal Rust kernel that boots to userspace on real x86_64 laptops, and a statically-typed language whose type checker rejects programs that violate quantum mechanics before they ever run.
Most of my time goes to the layer where software meets hardware — schedulers, drivers, paging, and compiler front ends.
- Networking on bare metal — brought up the Intel Wireless-AC 9462
iwlwifiMLD driver in Nyx over July 2026: firmware load,ALIVEhandshake, NVM parse, dual-band scan, then drove it end to end until the kernel fetched a real page off the live web. - Userspace — porting a
stdsurface for Nyx applications, plus fault hardening in the kernel's memory path. - Syscall design — working out what a POSIX-shaped ABI should borrow from, and where a kernel that knows about quantum execution has to stop borrowing.
A bare-metal operating system that treats quantum execution as a kernel primitive.
Quantum computing is normally a library sitting on top of an OS. Nyx asks what changes if the kernel itself knows about it: quantum programs compile through a QIR pipeline and execute inside the kernel's own execution model, alongside ordinary ELF64 processes.
The part I find most interesting is how little is borrowed. The NVMe block driver, the RTL8168 ethernet driver and its DHCP/TCP/UDP/DNS stack, the Intel iwlwifi wireless driver, and an Intel Gen9.5 3D pipeline are written from scratch — the last of those drives a GPU-composited desktop with damage tracking and page-flip presentation. SMP comes up through AP bootstrap with a per-CPU scheduler, and the syscall surface spans 80+ calls across a POSIX-compatible range and a Nyx-native one.
- Implemented — SMP, 4-level paging with per-process isolation, ext4 on NVMe, GPU compositor, ACPI thermal/HWP governor, 80+ syscall ABI, wired and wireless networking to the open internet
- Prototype — xHCI USB, AHCI/SATA, NVIDIA DRM handshake
- Status — Pre-Alpha. Boots to Ring 3 under QEMU, and on select Comet Lake laptops.
Ships with a changelog, contributing guide, code of conduct, and syntax/CLI documentation.
A language whose type system enforces the no-cloning theorem at compile time.
Qubits cannot be copied, and measurement destroys the state you measured. Most quantum SDKs let you write code that ignores both and only complain at runtime. QCLang encodes the constraint in the type system instead: bindings are affine, so a qubit is consumed when used, which turns reassignment and use-after-measurement into compile errors with actionable diagnostics rather than silent physical nonsense.
Rust-inspired syntax with structs, tuples, and type aliases. Classical control flow (if, for, while) interleaves with quantum operations, and the backend emits OpenQASM 2.0. The optimizer integrated into Nyx does dead-qubit elimination and gate cancellation; the standalone QIR phase is still in progress.
- Implemented — affine type checking, hybrid control flow, OpenQASM 2.0 output
- In progress — standalone QIR optimization phase
LLM-assisted code review where the hard part was surviving hostile uploads.
Static analysers point at a line. This one explains the root cause and proposes a fix, using Gemini over a static analysis pass.
The engineering that actually mattered is in the ingest path, because accepting arbitrary user archives is dangerous. Extraction is bounded on three independent axes — a 20:1 compression ratio ceiling, a 30,000-file count cap, and a recursion depth limit of 20 — so a decompression bomb hits a wall instead of the heap. Requests are rate limited per client, scanning runs as batched work across a bounded worker pool, and the LLM layer degrades to static-only analysis when no API key is present, probing a fallback chain of model names rather than assuming one is available.
Live demo · Backend · Frontend
A collaboration platform where ownership is recorded on-chain rather than in a database column.
Four repositories rather than one: Solidity contracts holding project ownership, a Node/Express realtime backend speaking Socket.IO over plain SQL against Postgres with JWT and wallet-signature auth, and a React client that renders project space in 3D via react-three-fiber.
Interesting because the trust boundary is unusual — the backend cannot be the source of truth for who owns what, so it verifies ethers signatures and treats the chain as authoritative.
- JarNox — stock dashboard; Next.js 15 client against a FastAPI backend that scrapes and serves market data
- HealthGuard AI — linear-kernel SVM classifiers over clinical features for diabetes, heart disease, and Parkinson's, served through Streamlit
- DSA Journey — algorithm solutions in Java
Only things I have actually shipped code with; each badge maps to a repository above.
Languages
Systems & tooling
Backend & data
Frontend
ML & scientific
Both images are generated by GitHub Actions in this repository and served from raw.githubusercontent.com, so nothing here depends on a third-party service staying up.
Kernel and driver development · type systems that make invalid states unrepresentable · compiling for exotic targets · the Rust/C boundary in freestanding environments · what an OS should look like when the hardware underneath it stops being purely classical

