Projects
Things I've built from the metal up — editors, servers, and crypto, mostly zero-dependency.
FluxLog — Asynchronous Buffered Logging Engine (C)
A lightweight C logging engine that keeps disk I/O off the application's hot path. Records land in an in-memory active buffer; when it fills, the active and passive buffer descriptors swap and a dedicated pthread flusher writes the completed batch to disk while logging continues uninterrupted. Uses a mutex plus condition variable for buffer ownership, retries failed open/write/fsync calls, and drains both buffers on graceful shutdown before joining the worker.
sys-monitor — Terminal System Monitor (Rust + ratatui)
A TUI system monitor built in Rust using ratatui. Live graphs for CPU, memory, network, and disk I/O alongside a searchable process list with sort by CPU/memory/PID. Think macOS Activity Monitor — but in the terminal, keyboard-driven, and cross-platform.
remn — Terminal Code Editor (Rust)
A keyboard-driven terminal code editor written in Rust. Features full Unicode support (wide characters, combining marks, grapheme clusters), syntax highlighting for Rust/Python/JavaScript/TypeScript/C/C++/Go, live search with wrap-around, status and message bars, page-based scrolling with Home/End navigation, and file load/save/Save As.
mnjwt — Zero-Dependency JWT in Rust
A zero-dependency JWT implementation in pure Rust with HS256 (HMAC-SHA256) signing and verification. Includes RFC 4648 compliant Base64URL encoding/decoding, built-in exp claim validation, and constant-time signature comparison to prevent timing attacks. No external crates — clean, production-ready code following cryptographic best practices.
HTTP/1.1 Server (Go)
An HTTP/1.1 server built from scratch in Go using raw TCP sockets and the standard library, completed as part of the CodeCrafters challenge. Supports GET requests, /echo/:param routes, custom response headers, Connection: keep-alive and close, gzip compression via Accept-Encoding, static file serving from disk, and concurrent multi-client handling. Refactored with clean architecture and separation of concerns.
Video/Audio Trimmer Application
A web application for trimming video and audio files, with support for both local uploads and YouTube URLs. Features include downloading videos from URLs, audio-only extraction from YouTube, real-time preview, HH:MM:SS time range selection, processing progress indicator, MP4/MP3 output, and a responsive design. Built with Next.js, TypeScript, FFmpeg, and yt-dlp.
