Posts and Projects
VirtualBox Wi-Fi Gateway for a Cruise Ship
To share expensive cruise Wi-Fi with my family while accessing my homelab and working remotely, I built a virtualized Wi-Fi hotspot gateway using VirtualBox, Kali Linux and USB passthrough. The setup combines host-only networking, transparent proxying, FakeIP and V2RayN routing through encrypted VLESS tunnels to address potential hotspot detection and network restrictions. After weeks of configuring Wi-Fi, routing and DNS, the system works but it's overengineered, the hypothetical restrictions and detection methods were not present.
Demucs Karaoke App
I wanted to build a karaoke application using Demucs and WhisperX since discovering these technologies in 2022. With the rise of agentic AI development, I finally built DMKaraoke, using GitHub Copilot and Codex, now running in production. The FastAPI app consists of a lightweight main application that manages the queue and songs with a microservice handling GPU-intensive vocal separation and lyrics alignment. Beyond the application itself, I developed an agentic workflow that lets me continue coding and managing the project on my phone during my commute.
Find My Force - Red Team Hackathon 2026
Our team built Find My Force, a real-time RF detection, classification, and geolocation system powered by semi-supervised machine learning, RSSI, IQ data and TDoA. The results were processed by a Flask and Socket.IO backend and streamed to a web dashboard using React and a Leaflet map. I was responsible for bringing together the ML model, geolocation algorithm, data parsing and the frontend. Despite working with unfamiliar technologies, our team adapted quickly and worked closely to deliver a cohesive solution.
Clarity Index 360
I worked with a team of BCIT students on a React and Firebase application for 360-degree leadership assessment through a BCIT ISSP (Industry Sponsored Student Project). This application replaced a manual workflow based on Excel macros. I focused on Chart.js visualization, data processing and client-side PDF report generation. I participated in weekly sponsor meetings to translate business requirements into technical solutions and helped present the final product at the expo, where our team won first place.
HTPC Troubleshooter
Instead of spending 5 minutes with technical support, I developed a multilingual full-stack FastAPI web app while learning new frameworks and technologies. It integrates with Jellyfin, Home Assistant, ffmpeg and onkyo-eiscp to diagnose and propose solutions for media playback issues that my parents encounter. HTMX and SSE provide a user-friendly interface with live troubleshooting updates, while a bundled Hugo site provides documentation. This months-long learning experience strengthened my web development skills and solved a practical problem for my family.
KVM GPU Passthrough Home Theater VM
When my dad bought a 4K TV, I needed a way to play 4K HDR media with lossless audio. I repurposed my Linux home server and an RTX 2070, using QEMU/KVM with PCIe passthrough to create a Windows VM for playback, while retaining the Linux host's server functionality. Using my knowledge of AV technologies, system administration and virtualization, I was able to create a solution that met my needs using hardware I already owned, saving money.
Defective Laptop Repurposed as a Linux Server
My Lenovo laptop has been damaged, with a broken, almost-detached screen, cracks, dead USB ports and its warranty claim denied, I repurposed it as a Linux server. I replaced the Wi-Fi card with a 2.5 GbE NIC and installed Debian, turning the remaining functional components into a low-power home server. My knowledge of computer hardware helped me get more value from it despite the severe damage. The server has been running for 2+ years without issues.
Insta-V2Ray
I've built Insta-V2Ray, a Python full-stack application that enables remote access behind CG-NAT, using tunnel providers like Cloudflare, Pinggy and zrok to provide WebSocket tunnels. The application manages tunnel subprocesses concurrently, parses URLs and generates customized V2Ray subscriptions. I used inheritance, polymorphism and encapsulation to create a modular and maintainable codebase. Although I no longer rely on it personally, the project significantly strengthened my understanding of networking and Python OOP, which was helpful in my education.
Personal Notes and Documentation
I use Obsidian as a central knowledge base for my homelab docs, study notes and learning materials. I created Python and PowerShell scripts to publish to MkDocs, while Obsidian remains the source of truth. I also used Quartz to share my personal notes like a digital garden. The Quartz part has undergone a major overhaul, where I streamlined the writing and publishing workflow using Docker and CI/CD pipelines to deploy on multiple hosts.
Intel Mutant 0000 CPU BIOS Modding
I experimented with BIOS modding older Intel motherboards (B150) to support newer incompatible CPUs. Using a CH341a programmer and the QTJ2 CPU, I eventually built a stable system after some trial and error. The processor provides excellent video transcoding capability and performance at low idle power. I've used this system as a desktop and now run it 24/7 as my main storage server. This experience was eye-opening and I'm glad to have taken the risk to learn and save money.
SnapRAID NAS Storage
I've built a cost-effective SnapRAID array, allowing me to add new data drives, even Windows NTFS ones, without reformatting, and spin down inactive drives to save power. When I added another disk in 2025, it required only a simple configuration change without downtime. I also documented and tested recovery scenarios to prepare for failure. Instead of following the masses, I deployed a power-efficient and flexible solution tailored to my needs.
Effect of CPU C-State on Idle Power
CPUs enter C-states when idle to operate in low-power modes. I was interested in this topic and saving power for my home server, so I took the opportunity in SCI 201 at my university to perform an experiment to measure how C-states affect idle power consumption. I used a smart power meter, Home Assistant and InfluxDB for data collection and used pandas, R and matplotlib to summarize and present the data in a formal report.
Oracle Cloud VPS Tunneling
On campus, the restricted network prevented me from forwarding ports. To allow my parents to stream Jellyfin or my friend to play Minecraft, I used Oracle Cloud free tier and Tailscale to create a mesh network, with an Nginx reverse proxy to route different services. My clients were able to access these services without any issues. Exploring tunneling solutions allowed me to adapt to the limitations of any networks while still providing services at no cost.
Verbose the Talking Cat
Verbose the Talking Cat is my YouTube channel featuring comedic stickman animation videos that amassed 20,000 subscribers and 7 million total views. The content of the channel includes stickman animation; the protagonist of a youth that is relatable to many young viewers who plays video games but encounter various challenges such as school, parents, and friends. The channel was discontinued after I decided I want to study at university with high course load.
Video Production Side Projects
Over the course of my time creating content, I've produced various videos for school and personal projects. For example, I directed, filmed and edited a Chemistry Music Video Parody with 20+ students and teachers at my high school. I also produced a zombie apocalypse video for a botany course. Other projects include motion typography, educational animation and a VFX reel. These projects strengthened my skills in video production, editing, animation and storytelling.