Leon Wong

Computer Science Student & Math Minor

About Me

Born and raised in Hong Kong, now studying Computer Science (with a Math minor) at the University of Oregon. I build things that work — backends, APIs, infrastructure — and I care about who they work for.

That's what drew me to elderly tech: my ElderCare Connect project started from watching how frustrating most apps are for older adults. I wanted to build something that felt invisible — so simple that the tech gets out of the way.

Outside of class, I run my own self-hosted infrastructure on a Hetzner VPS — reverse proxies, workflow automation, AI agent pipelines — because the best way to learn distributed systems is to operate one yourself.

Projects

ElderCare Connect — Elder-Care & Family Monitoring PWA

Problem: Existing health apps are built for tech-literate users. Elderly adults struggle with dense interfaces, frequent re-logins, and multi-step flows — while their families have no reliable way to monitor daily care remotely.

What I built: A two-sided progressive web app with entirely separate UX modes: Elder Mode surfaces one task at a time with high-contrast UI, oversized tap targets, and zero navigation complexity; Family Mode gives caregivers a real-time dashboard of task completion, medication adherence, and wellness check-ins. Implemented JWT authentication with persistent device trust — once an elder logs in, the device stays authenticated permanently. Role detection at login automatically routes each user into the correct interface with no manual selection required.

Leadership: Led a 4-person agile team as PM & Scrum Lead. Owned the product roadmap, drove UX decisions, facilitated sprint planning, and enforced scope discipline to keep the MVP deliverable on schedule.

React · Node.js · JWT Auth · MongoDB · Docker Compose · Scrum

Elderly Companion — AI-Assisted Cognitive Health Tracker

Problem: Cognitive decline in elderly adults is often gradual and hard to document. Caregivers notice subtle day-to-day changes — a confused moment, a forgotten name — but have no structured way to track patterns or know when changes are significant enough to escalate to a doctor.

What I built: A full-stack caregiver tool for logging daily cognitive observations (memory, orientation, mood) and surfacing AI-generated trend analysis. The Flask + MongoDB backend exposes a REST API; the OpenAI integration uses structured prompt engineering to produce consistent, JSON-parseable risk assessments across multiple observations rather than treating each entry in isolation. Key engineering decisions: graceful degradation when the AI service is unavailable (full app functionality preserved, just no AI output); client-side timezone injection to prevent date-shift bugs; custom MongoDB ObjectId serializer to avoid JSON encoding failures. Built accessibility into the core — ARIA labels, keyboard navigation, and a persisted font-size toggle for users with low vision. One-command Docker Compose deployment.

Flask · MongoDB · OpenAI API · Docker Compose · Gunicorn · REST API

Syllabify — Syllabus-to-Calendar Academic Planner

Problem: Every semester, students manually re-enter deadlines from course syllabi into their calendars. Across 4–5 courses, this is time-consuming, error-prone, and rarely maintained past week two.

What I built: A web platform that ingests course syllabi in PDF or plain-text format, parses assignments, exams, and key dates using a heuristic extraction pipeline, and exports a structured multi-course schedule directly to Google Calendar or as an ICS file. Users can review and correct parsed data before export — a deliberate design choice that builds trust without sacrificing automation. Supports multi-course conflict detection and customizable daily work-hour preferences to generate realistic, balanced study plans. Built with a 4-person team using Scrum methodology; enforced branch protection on main with a separate dev integration branch and GitHub Actions CI/CD for consistent Docker builds.

React · Tailwind CSS · Flask · MySQL · Docker · GitHub Actions CI/CD · Google Calendar API

AI Resume Pipeline — Multi-Agent Workflow Automation

Problem: Tailoring a resume per job posting takes 30–60 minutes of manual work. At scale — applying to dozens of roles — that compounds into hours of low-signal effort.

What I built: A Telegram-triggered pipeline that generates ATS-optimized, role-specific resumes in under 60 seconds. The 4-phase workflow runs entirely on my self-hosted n8n instance: (1) structured job ad parsing to extract role requirements and keywords, (2) an adversarial debate loop between Claude Opus and GPT where each model critiques the other’s resume draft to surface weaknesses, (3) final resume generation with python-docx for clean, recruiter-ready formatting, and (4) an automated critique pass that scores keyword density and ATS compatibility before delivery. One Telegram message in — a polished, targeted .docx out.

n8n · Python · Claude API · OpenAI API · Docker · Telegram Bot · python-docx

Infrastructure I Run

I self-host and maintain my own production infrastructure — not for a class, but because I wanted to understand how real systems work from DNS to deployment.

Self-Hosted VPS Stack

Hetzner Cloud VPS running Ubuntu, managed with Coolify (open-source PaaS). Traefik reverse proxy with automatic Let's Encrypt SSL, Cloudflare DNS, PostgreSQL + MongoDB backends, all containerized with Docker Compose.

Hetzner · Coolify · Traefik · Docker · Let's Encrypt · Cloudflare

Workflow Automation (n8n)

Self-hosted n8n instance powering automated pipelines: LinkedIn job alert monitoring, AI-driven resume generation, Telegram notification bots, and Handshake job scanning with Playwright stealth browser automation.

n8n · Playwright · Telegram API · REST Webhooks

OpenClaw — Self-Hosted AI Agent Gateway

Deployed OpenClaw on my VPS to create a unified gateway for AI agent access across messaging platforms. Routes interactions from Telegram, WhatsApp, Discord, and iMessage through a single self-hosted process — enabling on-the-go access to personal AI assistants from any device. All session data, routing logic, and API credentials remain local with zero dependency on third-party hosted services. Integrated with the existing Docker stack.

OpenClaw · Docker · Telegram · WhatsApp · Discord · Self-Hosted

Contact

Email: leontatwing@gmail.com

GitHub: github.com/LeonWTW

LinkedIn: linkedin.com/in/leonwongwtw