OptiPlex Home Server
Converting a decade-old Dell OptiPlex into a headless home server for self-hosting on hardware I already owned.
Converting a decade-old Dell OptiPlex into a headless home server for self-hosting on hardware I already owned.
Discord bot that helps organize gaming meetups by creating groups, proposing events, and collecting RSVPs directly in chat. It was containerized for deployment and self-hosted on my own VPS, with reminder messages to help players keep track of upcoming events.
I built my wedding website as both a personal project and a serious test of agentic coding. Designed for around 200 guests, it included custom RSVP flows, an admin dashboard, guest management tools, and a strong focus on mobile performance and reliability.
A desktop tool for submitting IT support requests with issue details, attachments, and basic device diagnostics.
Internal order and inventory management system for tracking hardware assets from purchase to deployment. It supports ordering, receiving, assigning, returning, and administering user access.
Practitioners medical clinic located in Mississauga Ontario looking for a modern and professional website with a focus on a native mobile experience.
What began as a cost-saving hobby turned into one of my most practical and rewarding infrastructure projects.
Modernizing the organization's website in a day and age where online presence is mandatory.
I built my personal website to be more than a static portfolio - a place to showcase projects, freelance work, and my growth as a developer.
Payload CMS was overkill. Here's why I went with Astro and files in a repo.
I built my wedding website as both a personal project and a serious test of agentic coding. Designed for around 200 guests, it included custom RSVP flows, an admin dashboard, guest management tools, and a strong focus on mobile performance and reliability. More than anything, the project showed me how powerful AI-assisted development can be when paired with clear direction, testing, and real product constraints.
This project started as a practical problem: a client's Squarespace site was about to renew at a much higher cost than necessary. I rebuilt it in a more cost-effective setup, using familiar tools, Vercel hosting, and a workflow that leaned more heavily on Cursor and Claude Code. The project showed me that strong freelance development is often less about building more and more about solving the right problem efficiently.
This project started as a way to cut down on streaming and hosting subscriptions by building a self-hosted media setup on my Raspberry Pi. Along the way, it became a hands-on lesson in self-hosting, reverse proxies, domains, storage planning, and making services usable for family and friends. What began as a cost-saving hobby turned into one of my most practical and rewarding infrastructure projects.
This was my first freelance website for a real organization and one of my first true production builds. It taught me how different client work is from personal projects, especially when it comes to communication, planning, and maintainability. The project also pushed me to choose tools based on the client's needs, not just my own preferences as a developer.