built from scratch

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.

CpthreadsSystemsConcurrencyDouble Buffering

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.

RustTUIratatuiSystemsmacOS

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.

RustTerminalEditorUnicode

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.

RustJWTCryptographyHMAC-SHA256

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.

GoNetworkingHTTPTCPgzip

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.

Next.jsTypeScriptFFmpegyt-dlp