Available now · Vancouver, BC

Full-stack developer building AI-powered products.

I ship software end to end: a production system care-centre staff use daily, an AI assistant you can interview below, and a game mod real players run. AI is my everyday power tool; shipping reliable products is the job.

  • Canadian PR
  • UVic BSc Computer Science
  • 2 developer roles
  • Next.js · TypeScript · Supabase · LLMs
Player 1
49.28°N 123.12°W

LEO WANG

class full-stack / ai · base vancouver

TypeScript◆React◆Next.js◆Node.js◆Supabase◆PostgreSQL◆Row-Level Security◆LLM APIs◆Prompt design◆Tailwind CSS◆GSAP◆Three.js◆C# / Unity◆Vercel◆Git◆

Interview my AI

Don't take my word for it. Ask.

Ask Leo is an AI assistant I built and run in production. It answers from my real project notes, cites its sources, and admits when it doesn't know.

  • ›Grounded in curated notes, not the open internet
  • ›Rate limits and a daily cost budget on the server
  • ›Unanswered questions are logged so I can fill the gaps

Also available anywhere on the site from the button bottom-right.

Ask Leo

AI assistant · answers from Leo's real project notes

live

leo@portfolio:~$

›

Selected work

Four missions. All shipped, all real.

Production software, an AI product, a game mod with real players, and a client website.

all 7 projects →
MISSION 01Production system

L'Chaim Attendance System

Replaced scattered spreadsheets with one system care-centre staff use every day.

  • ✓Attendance, monthly booking, transport, reports, and client records in one workflow
  • ✓Role-aware access with Supabase auth and row-level security
  • ✓Public case study built from sanitized screenshots, so no client data leaves the system
Next.jsTypeScriptSupabasePostgreSQLRLS
MISSION 02AI product

MyJournal / Ask Leo

An AI assistant that answers recruiter questions from real project evidence.

  • ✓Curated knowledge base, question classification, and source-cited answers
  • ✓Server-side rate limits, a daily cost budget, and a local fallback when the model is unavailable
  • ✓Logs unanswered questions so the knowledge base improves over time
Next.jsDeepSeek APITypeScriptSupabase
MISSION 03Shipped to players

Duckov BetterThrowingSystem

A gameplay quality-of-life mod published on Steam Workshop.

  • ✓Reworked hotkeys, item detection, and switch-back flow for throwables
  • ✓Tested inside the live game loop and iterated on player feedback
  • ✓Built AI-assisted in an unfamiliar C#/Unity modding environment
C#Unity moddingAI-assistedSteam Workshop
MISSION 04Live client site

NongGengJi English Website

An English-first restaurant site that helps guests understand Hunan cuisine.

  • ✓Bilingual switching and a JSON-driven menu with photos, prices, and tags
  • ✓Mobile-first layout tuned for quick food discovery
  • ✓Live on Vercel with real menu content
Next.jsTypeScriptTailwind CSSi18n

Career log

Where I've shipped.

full résumé →
  1. Apr 2025 – Jul 2025

    Full-Stack Developer · L’Chaim Adult Day Centre

    Designed and built a web attendance and booking system for care staff: check-ins, monthly booking, and transportation scheduling.

  2. Jan 2024 – Jul 2024

    Full-Stack Developer (Co-op) · Vancouver Institute of Sciences and Arts

    Built a responsive corporate web portal with React and Tailwind, emphasizing UX across mobile and desktop.

  3. 2020 – 2024

    Bachelor of Science, Computer Science · University of Victoria

    Coursework: software design patterns, database systems, cloud deployment.

How I work

AI is my power tool. Judgement is the job.

I use AI coding agents every day, and I still own the parts that decide whether software works: the spec, the data model, and the final review.

01

Frame

Turn a fuzzy problem into a spec: who uses it, what data it touches, which edge cases matter, and what “done” means.

02

Build with AI

Pair with coding agents to move fast on implementation. I own the architecture and data model, and I review every diff.

03

Verify & ship

Type checks, regression tests, real-device passes, then deploy and watch how real users behave.

Under the hood · Ask Leo

The assistant above is not a wrapper around a chat box. Each question goes through a pipeline with cost and abuse controls, and unanswered questions get logged so I can fill the gaps.

  1. question→
  2. classify→
  3. retrieve notes→
  4. budget check→
  5. LLM answer→
  6. cite sources

FS

Full-stack delivery

Next.js, React, TypeScript, Supabase/PostgreSQL, API routes, auth and row-level security, shipped to Vercel.

AI

AI-powered products

LLM features wired into real products: curated-knowledge Q&A, resume tailoring, cost budgets, rate limits, fallbacks.

OPS

Automation & support

Scheduled workers, data pipelines, troubleshooting, and documentation people can actually follow.

Player two?

Hiring someone who ships?

I'm looking for full-stack and AI application roles in Vancouver or remote. The fastest way to reach me is email.

rather play first? insert coin

© 2026 Leo Wang · Vancouver, BC · Built with Next.js, AI pair-programming, and careful review.

↑ ↑ ↓ ↓ ← → ← → B A

Leo Wang · Full-Stack Developer Building AI-Powered Products