// projects

Things I've built

Every project here started as "I wonder if..." — a curiosity that turned into code. Some solve real problems, some are just me poking at how things work under the hood.

Visual representation of ax

ax

A pacman wrapper that started as "can I do this in Rust?" and became an endless void.

Born from over a year of daily-driving vanilla Arch with Hyprland, ax started as a curiosity — "yay isn't written in Rust, can I make something even remotely close?" What began as a simple pacman wrapper shelling out commands evolved into a full-featured package management companion for Arch Linux. Supports standard pacman operations, transparent flag passthrough, and is published on crates.io.

RustCargoArch Linux
Visual representation of Vellum

Vellum

A clean, offline reader for people who just want to read.

A modern Android reader designed for comic book archives (CBZ), EPUBs, and PDFs. Built because most readers are either bloated with features nobody asked for or missing the basics. Vellum focuses on being clean, offline-first, and supporting multiple formats without the noise. Built with Kotlin and Jetpack Compose following modern Android architecture.

KotlinJetpack ComposeAndroid
Visual representation of HeadMod

HeadMod

A Discord moderation bot built out of pure curiosity.

An event-driven Discord moderation bot written in Rust. Inspired by the "Security" bot, HeadMod was built purely because the idea sounded interesting. Features role persistence, event logging, and moderation tools — all powered by Rust's async ecosystem. A project where the architecture mattered as much as the features.

RustAsyncDiscord API
Visual representation of shortun

shortun

A URL shortener — because every developer builds one eventually.

A URL shortener built to explore backend fundamentals: routing, data persistence, and tracking. The backend runs on Axum with PostgreSQL, while the frontend is deployed on Vercel. Simple, functional, and a solid exercise in full-stack thinking.

TypeScriptAxumPostgreSQL