Eyuan
open main menu

# Projects

Things I've built. Mostly rewriting existing software from scratch to understand how it actually works.

Agents

emaclaude [Rust, Elisp] [github]

Agentic coding system that runs directly in Emacs. Three Claude code sessions in split buffers — one plans, one codes, one reviews — connected through a Rust CLI and Elisp orchestrator. Review loop runs until the reviewer approves twice consecutively. No Electron app needed.

mra [Rust] [github]

Multi-agent runtime for Rust. Spawn AI agents as Tokio actors, wire them together, let them talk to LLMs. Erlang/OTP ideas applied to LLM pipelines — supervision trees, restart strategies, bounded message queues, no shared mutable state.

Systems Programming

sequel [Rust] [github]

A from-scratch SQLite parser and query engine. Reads raw .db files byte-by-byte, manually parses B-trees, and extracts rows. Supports SELECT, WHERE, COUNT(*), and index optimization with B-tree traversal. Part of the "rewrite everything in Rust" movement - real devs read hex dumps and parse varints manually.

rego [Go] [github]

A lightweight Redis server implementation compatible with standard Redis clients. Full RESP protocol support, key-value ops with expiry, transactions (MULTI/EXEC), master-slave replication, RDB file parsing and persistence, and Redis Streams (XADD, XRANGE, XREAD). Basically Redis but I wrote it.

hrust [Rust] [github]

Simple HTTP/1.1 server with GET/POST handling, file upload/download, User-Agent echo, gzip compression support, and multithreaded request handling. Nothing fancy, just works.

shell [Rust] [github]

Single-binary shell. Pipelines with |, redirection (>, >>, 2>), tab-completion with $PATH lookups, persistent history. If you want a fancy terminal emulator or 500 features you're in the wrong place - this just works.

Languages & Low-Level

ruskey [Rust] [github]

Rust implementation of the Monkey programming language interpreter, based on "Writing An Interpreter In Go" by Thorsten Ball. Full lexer and parser done, working on the evaluator. C-like syntax, first-class functions, closures, a simple object system. Learning interpreters the hard way.

Reinventing the wheel on purpose. A rewrite of the C standard library - string type checking, memory management, linked list manipulation functions. Because understanding what's under the hood matters.

Graphics

shaderview [Rust, Elisp, GLSL] [github]

Real-time GLSL shader preview inside Emacs. Live preview with hot reload on save, ShaderToy-compatible shaders, mouse interaction, PNG export. Three-layer architecture: Elisp UI, Rust FFI module, and pure Rust GPU library on top of wgpu.

rayrust [Rust, WGSL, WebGPU] [github]

Path tracer with both CPU and GPU acceleration. Monte Carlo sampling, materials (Lambertian diffuse, metal, dielectric glass), camera with depth of field and adjustable FOV, cross-platform GPU via wgpu. Works on your shitty laptop if it has Vulkan/Metal/DX12 - otherwise use your poor CPU.

lrle [Rust, WGSL, wgpu] [github]

GPU-accelerated 3D terrain visualizer. Loads heightmap data from FDF files and renders them in real-time with an orbital camera system, adjustable height scaling, and an egui stats panel. Cross-platform GPU via wgpu. WIP but it works.

Tools

Linear.app integration for Emacs with a Magit-style UI. Collapsible tree view by teams, projects, and workflow states. Change status, priority, labels, and assignee via transient menus. Create issues, copy branch names, open in browser — all without leaving Emacs. Pure Elisp.

pew [Go] [github]

CLI for dumping source code into a single markdown file for LLMs. Auto-detects and skips binary files, generates tree-style directory structure, respects .pewc gitignore-style patterns. Install with brew tap yuann3/pew && brew install pew and you're good.