whoami.sh
$

GD

$ cat role.txt
about.sh
> whoami
GD — Prince George, BC
 
> cat role.txt
Full-stack developer. End-to-end — bare metal to production.
 
> cat experience.txt
2025 – present Independent Builder
3 production apps deployed solo. 3 stacks. 0 downtime.
 
2021 – present Printer Technician
Sole branch operator. Inventory, procurement, hardware
repair, and client support. Ran the branch independently.
 
> cat volunteer.txt
Relay for Life — Lead IT Personnel
Ran all technical operations for the event solo.
 
> cat education.txt
College of New Caledonia • in progress
└ ITAN — Information Technology & Networking
 
> cat availability.txt
Open to freelance and contract work.
Web apps • Static sites • Infrastructure • Maintenance
skills.sh

Frontend

ReactNext.jsTypeScriptTailwind CSSThree.jsEJS

Backend

Node.jsExpressSocket.IOPostgreSQLSQLitePrismaNextAuth

Infra

Docker ComposeNginxsystemdVPSCloudflare R2Tailscale

Tooling

SharpNodemailerPuppeteerSSEQR CodesSMTP
projects.sh
>

PrinceHoops — Basketball Event Manager

Full-stack platform for organizing basketball runs and tournaments, running live at princehoops.ca. RSVPs are capacity-checked in a database transaction, overflow auto-queues to a waitlist and promotes the next player by position when a confirmed spot opens up. QR check-in tokens rotate per session; the live event dashboard streams check-ins over SSE. Reliability scores are computed from attendance history, team captains send tokenized invite links, and admins get CSV export, image uploads, and soft-delete-with-restore for events. Built feature-by-feature with a spec-then-plan-then-implement workflow.

Next.js 16TypeScriptPostgreSQLPrismaNextAuthZodDocker
projects.sh
>

IDSL — Indigenous Donors Save Lives

Health equity campaign site for Indigenous stem cell donor registration in Northern BC, built for UNBC's Office of Indigenous Initiatives and Stem Cell Club. 9-page vanilla JS/Express site backed by a JSON-driven admin panel (auth, CRUD, image uploads) so non-technical staff can edit ambassador profiles, events, and partners without touching code. Deployed via Docker Compose + Nginx.

HTML/CSS/JSNode.jsExpressMulterDockerNginx
idsl.png
IDSL — Indigenous Donors Save Lives
projects.sh
>

R4L — Relay for Life Photo Gallery

Photo and video sharing gallery for Relay for Life charity event. Swipe-based admin moderation queue, EXIF metadata stripping, Cloudflare R2 storage tiering, rate-limiting, sponsor banner, and full participant privacy controls.

ExpressEJSSQLiteCloudflare R2Sharpsystemd
r4l.png
R4L — Relay for Life Photo Gallery
projects.sh
>

Trivia — Live Bar Trivia Game

Real-time trivia platform for bar events. Host generates QR codes table-by-table after collecting payment; players scan to join their team. Multiple devices per team vote by majority with coin-flip tiebreaking. Socket.IO drives the live game loop — question broadcast, answer collection, scoreboard. Admin dashboard with QR management, payment tracking (amount/method/notes), and game lifecycle control. Deployed via Docker + Nginx on a VPS.

ReactExpressSocket.IOSQLiteQR CodesDockerNginx
trivia.png
Trivia — Live Bar Trivia Game
contact.sh

> send_message --to gd@gsd.sh