Nook Look Studio website on a laptop and a phone: a dark panel reading Warm, unhurried portraits beside a maternity photograph by a lake

The full web presence for a Coquitlam portrait studio: four priced service lines, a booking pipeline, a filterable gallery, and local SEO. Built and launched solo.

The client asked for WordPress, then asked for things WordPress does not do. Custom content types, hand-written structured data, and managed code snippets closed the gap with no recurring plugin cost.

WordPress Pods PHP Custom CSS/JS Local SEO
Vancobab website on a laptop and a phone: the headline Persian kebab, fresh off the grill beside a gold Persian medallion around the flame emblem

A five-page site for a Persian kebab food truck in Vancouver, with a Persian visual identity of its own. While the truck gets ready, it collects a launch list; the menu and order builder are ready for opening day.

The order builder is plain JavaScript with no backend and no payment step. It totals a customer's picks and hands them a summary to read at the counter, which is what a food truck actually needs. When the opening moved, I turned the site into a pre-launch flow rather than show prices and a location that didn't exist yet.

HTML5 CSS3 Vanilla JavaScript SEO
Three TaskMate phone screens: the home dashboard welcoming Ryan, the To Do list grouped by due date with priorities, and completed tasks with check marks

A mobile-friendly task manager built so students stop losing deadlines across five different apps.

Shipped end-to-end with Firebase auth and Firestore, then tested by a 9-person class team against real course workloads.

HTML5 CSS3 JavaScript Firebase
Three FoodRoutes phone screens: the map with nearby grocery stores in Burnaby and the travel-mode buttons, the saved-routes list, and the sign-up form showing validation errors

A mobile web app that finds affordable groceries nearby and gets you there by transit, built by a team of four in BCIT's COMP 2800.

I built the navigation map, with directions in four travel modes, saved routes and "Use my location", plus the accounts flow: Supabase login and sign-up with validation, a guided first-visit tour, and protected routes.

React 19 TypeScript Supabase Google Maps API
Hacker Tycoon on a laptop: a job board with progress bars, upgrade shops, badges, a suspicion meter at 72%, and three logs over falling green code

A JavaFX idle game: take hacking jobs, earn crypto, and keep suspicion under 100%, or the FBI raids you and takes half of it.

I wrote about 80% of the game: the main screen and game loop, save and load, the sound system, random events, colour-coded logs, and eight unlockable badges.

Java 25 JavaFX Gradle CheckStyle

A bilingual restaurant site in English and Farsi, with a password-protected admin panel so the owner changes the menu, prices, hours, and reservations without touching code.

React 19 on the front, Node, Express, and SQLite on the back. Role-based admin accounts, a reservation pipeline with email confirmations, photo uploads, and per-page SEO metadata. Launching once the domain is live.

React 19 Vite Node.js Express SQLite i18n