Screenshot of the Photography Portfolio site
01 — Photography

Photography Portfolio

A dark, editorial photography portfolio showcasing automotive, landscape, astrophotography, portrait, street, and corporate work — with a masonry grid, lightbox viewer, and category filtering.

  • Masonry photo grid with category tabs and lightbox
  • Auto-compressed, full-resolution images served from a Python build script
  • Functional contact form with mailto fallback
HTML CSS JavaScript Python
Screenshot of the Finance & Investments Tracker dashboard
02 — Personal Finance

Finance & Investments Tracker

A personal finance and investment dashboard for tracking net worth, budgets, and portfolio performance — built as a single self-contained app with no backend, storing all data locally in CAD.

  • Interactive charts for net worth, budgets, and investment performance
  • Local-first data storage (no account or server required)
  • Dark, data-dense dashboard UI
HTML CSS JavaScript Chart.js
Vantage app icon
03 — Health & Fitness

Vantage — Workout & Nutrition PWA

An all-in-one, mobile-first progressive web app for training and nutrition: an interactive anatomical muscle map that recommends evidence-based exercises, a fast workout logger with PR detection, an autoregulated mesocycle planner with volume-landmark gauges, and calorie/macro tracking with food search. Offline-first — your data stays on your device.

  • Interactive front/back muscle map with ranked, science-based exercise picks
  • Workout logger with rest timer, PR/1RM detection, and progress charts
  • TDEE-based macro targets and food search
  • Installable PWA, offline-first with on-device storage (IndexedDB)
React TypeScript Vite Tailwind CSS Zustand PWA
Title screen of Mineblock, a browser voxel sandbox game
04 — Game Development

Mineblock — Browser Voxel Sandbox

A first-person Minecraft-style sandbox that runs entirely in the browser, built with Three.js and vanilla JavaScript — no game engine, no external art assets. Every block texture and item icon is painted procedurally on canvas at load time.

  • Infinite seeded terrain with caves, ore veins, and chunked streaming as you explore
  • Mining with per-tool break speeds and tiered harvest requirements
  • Full crafting progression: 2x2 inventory crafting, a 3x3 crafting table, and furnace smelting
  • Autosaves your world and inventory to the browser between visits
JavaScript Three.js WebGL
Screenshot of Vice Shores, showing the player on foot near a car by the plaza fountain
05 — Game Development

Vice Shores — Open-World Driving Sandbox

An original GTA-inspired sandbox built with Three.js — walk a 12x12 block city, steal or buy cars, drift through a 6-speed gearbox with RPM-based shifting, and shoot pistols/SMGs, all with procedural WebAudio sound and no external assets.

  • Drift physics with slip-angle steering, handbrake-induced oversteer, and tire smoke
  • 6-speed gearbox with RPM-based auto shifting and a live tachometer
  • Street races, courier jobs, and a gun range — all paying into a persistent in-game economy
  • Procedural engine, gunfire, and impact audio synthesized live with WebAudio
JavaScript Three.js WebAudio