Projects

Software & Games

Portfolio Website

Portfolio Website

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 Game Development

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.

Unity Game Development

3D Player Controller Framework in Unity

A reusable 3D player controller framework in Unity, designed for parkour and movement-based games.

Space Engineers Scripting

Space Engineers Scripting

A collection of C# scripts for the in-game scripting system of Space Engineers.

View on GitHub →
Orbitsweep

OrbitSweep

A game built in Godot that uses real orbital mechanics. In development.

View on Github →
Math Model

Math Model

Details coming soon.

View on GitHub →
Rebel Alliance Initiative

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

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 VC Status Changer

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 extension

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 →
Manifest V3 browser extension

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

Ollama local LLM server

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.

Continue in VS Code

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 EDITH

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

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

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

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.

VPN Tunnel

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

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

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

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 SNI routing

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

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.

Code-Server

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 for Container Management

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

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

Custom Domain Email

Set up [email protected] on my own domain using Cloudflare DNS and Email Routing.

Hardware

Mechanical Arm

Mechanical Arm

A prototype robotic arm for general-purpose tasks, with precise movement and modular control, built for experimentation and learning.