Projects
Software & Games
A personal website that showcases my work and skills. It is built with HTML, Tailwind CSS and JavaScript, and self-hosted on my own VPS behind nginx.
View on Web →
Roblox Games and Tech Demos
Built multiple Roblox games and tech demos between 2022 and 2025, and learned the Roblox game engine in the process.
3D Player Controller Framework in Unity
A reusable 3D player controller framework in Unity, designed for parkour and movement-based games.
A collection of C# scripts for the in-game scripting system of Space Engineers.
View on GitHub →
Rebel Alliance Initiative (RAI)
A Garry's Mod development group focused on developer cooperation and education, based in Thailand. I build addons as part of RAI.
View on GitHub →
Garry's Mod Fishing Addon (RAI)
A fishing addon for Garry's Mod, written in Lua as an RAI project. It has a skill-based fishing HUD whose difficulty scales with fish rarity, a popup notification system, and a fish item that is being polished for release.
View on GitHub →
Discord Voice Chat Status Changer
A Discord bot that changes voice channel status, running around the clock as a systemd service on my VPS.
View on GitHub →
Auto Next Tab (Chrome Extension, Manifest V3)
A Manifest V3 Chrome extension that, when a video ends, shows a 5-second countdown, closes the tab, jumps to the next one and starts playing the video there. It ignores short clips, loops and YouTube ads, picks the largest video on the page, and never closes pinned or last tabs.
View on GitHub →
Tab Isolation Extension (Manifest V3)
Built a Chrome/Edge extension on Manifest V3 that enforces tab isolation, so a private tab is never exposed by accident while screen sharing on Discord.
AI & Automation
Self-Hosted LLMs with Ollama
Runs Ollama as a systemd service on my home server, serving Gemma 4 for chat and Qwen2.5-Coder for autocomplete. Tuned for an AMD iGPU over Vulkan, since ROCm doesn't support it, and paired with Open WebUI.
Self-Hosted AI Coding Assistant
Set up VS Code with the Continue extension pointed at my own Ollama models (Gemma 4 for chat and edits, Qwen2.5-Coder for autocomplete), replacing GitHub Copilot.
Project E.D.I.T.H.
Extensible Digital Intelligence & Task Handler: my in-development AI assistant with a custom frontend and orchestration layer on local LLMs, off-the-shelf speech recognition and text-to-speech, and smart-switch hardware controlled through a Raspberry Pi.
AI Help Support with RAG
An AI help and support assistant that answers questions using Retrieval-Augmented Generation (RAG) and web search.
Homelab
My homelab is a self-hosted stack on my own domain, itsmoakey.net. A mini PC at home does the heavy lifting, a small VPS acts as the public front door, and Tailscale ties everything together so nothing at home has to be exposed directly.
Primary server
ASUS PN55 mini PC: AMD Ryzen AI 5 330, 16GB DDR5, 512GB NVMe. Debian 13 (headless) with Docker and Docker Compose.
Public gateway
Ubuntu VPS running nginx and certbot. SNI routing on port 443 sends each subdomain to the home server or to a local site.
Network
Tailscale mesh VPN between every machine, Cloudflare DNS (proxied for web, DNS-only for game servers), Cloudflare Email Routing for [email protected].
Services
Nextcloud, Jellyfin, Ollama with Open WebUI, code-server, Portainer, a Discord bot and game servers.
Homelab & Infrastructure Projects
Homelab Server Migration
Migrated my homelab from a Raspberry Pi to a dedicated ASUS PN55 mini PC running Debian 13 and Docker, restoring Nextcloud from a BorgBackup. Chose bare-metal Debian with Docker Compose over Proxmox to fit the RAM budget.
Cloud Storage Server
Hosted Nextcloud (All-in-One, in Docker) for personal cloud storage, first on a Raspberry Pi and now on the dedicated home server.
Virtual Private Network Tunnel
Runs a Tailscale mesh VPN linking my home server, VPS and Raspberry Pi for remote SSH, private access to services, and secure forwarding of public traffic from the VPS to home.
Minecraft Game Server Hosting
Hosted Minecraft servers (Fabric and Forge), first on a Raspberry Pi behind Playit.gg, then behind my VPS using Tailscale and iptables forwarding for secure public access.
Pterodactyl Game Hosting
Ran a Pterodactyl panel on a VPS with Wings nodes on home hardware over Tailscale, managing game servers as containers behind an nginx reverse proxy.
iptables Tunneling
Used iptables DNAT rules on a public VPS to forward game server ports to hardware at home over Tailscale, so no router port-forwarding is needed.
nginx Tunneling (SNI Routing)
Configured an nginx stream block on the VPS that reads the TLS server name and routes each subdomain on port 443 either to the home server or to a local vhost, without changing iptables for new services.
Jellyfin Media Server
Self-hosted Jellyfin for my media library, pre-converted with HandBrake (H.264/AAC in MKV) so everything direct-plays without transcoding on low-power hardware.
Remote Code-Server Deployment
A remote code-server instance that gives me browser-based VS Code access over a secure Tailscale network.
Docker and Portainer Container Management
Docker and Portainer manage the containers and images behind my services, which simplifies deployment and monitoring.
Headless Ubuntu and Debian Servers
Ubuntu on the VPS and Debian 13 on the home server, both without a desktop, administered over SSH through Tailscale, with services managed by systemd and Docker.
Custom Domain Email
Set up [email protected] on my own domain using Cloudflare DNS and Email Routing.
Hardware
Mechanical Arm
A prototype robotic arm for general-purpose tasks, with precise movement and modular control, built for experimentation and learning.