Profile Picture

William Lam

Welcome to my personal website!

About Me

Born and raised in Toronto, I'm a full-stack developer with a passion for building software applications and solving complex problems. Beyond coding, I'm deeply committed to making a meaningful impact on the world around me, whether through technology or by giving back to the community.

I actively volunteer with organizations supporting Toronto's most vulnerable populations, believing that compassion and innovation go hand in hand in shaping a better future. Outside of tech, the hobbies I enjoy most are volleyball, basketball, working out, and playing chess. I also love being involved in school clubs, teaching others, and spending time reading to broaden my perspective.

Above all, I strive to be someone of character - kind, compassionate, and responsible - who makes a positive, lasting impact on everything around me. Constantly expanding my problem-solving repertoire through learning new frameworks and technologies, my ultimate goal is to use these skills to create meaningful, lasting change in the world.

Education

University of Toronto Logo

Bachelor of Science in Computer Science

Current Student

University of Toronto

Specializing in distributed systems and AI, with coursework in software engineering, algorithms, and data structures. Completed studies in software engineering, database systems, and distributed systems. Dean's List Scholar while balancing extracurricular activities and leadership roles.

Work Experience

RBC Logo

RBC Amplify Software Developer Intern

Incoming Summer 2026

Royal Bank of Canada (RBC)

RBC Amplify

Toronto, ON

  • Participating in an intensive summer innovation program, working in a cross-functional team of developers, data engineers, and a business analyst to tackle bold business challenges.
  • Assigned business challenges sponsored by senior executives, building real products from the ground up that could disrupt the company and beyond.
  • Receiving mentorship from RBC leaders and meeting subject-matter experts to hone technical and business skills while continuously pitching solutions throughout the summer.
  • At the end of the program, filing a patent on our developed product to protect and commercialize our innovation.
RBC Logo

Software Developer Intern

Sept 2025 - Present

Royal Bank of Canada (RBC)

T&O (Technology & Operations) Technology Infrastructure, End User Service Team

Toronto, ON

  • Revamped frontend with React, TypeScript and MUI for dashboard analytics to improve user experience and data visualization.
  • Used vector registers in CPUs to perform parallel data validation, decreasing data validation measures from 8 seconds to 2 seconds (75% improvement).
  • Deployed a full end-to-end application on OCP (OpenShift Container Platform) using Kubernetes, Docker, and containerization technologies.
  • Wrote Dockerfiles and Kubernetes manifests for containerized deployments, enabling scalable and consistent application deployments across environments.
  • Coded a production feature using FastAPI, Python, TypeScript, NumPy, and MariaDB.
  • Implemented an algorithmic optimization that reduced computations from O(n²) to O(n) time complexity using set theory subtraction, database indexing, query grouping, and sets with O(1) average lookup time for efficient computations, significantly improving processing efficiency for large-scale operations.
  • Suggested and implemented database indexes for MariaDB to decrease runtime complexity of searches for data validation, optimizing query performance.
University of Toronto Logo

Software Engineer

May 2025 - Present

University of Toronto

Toronto, ON

  • Co-developing a web-based no-code platform that empowers non-technical startup founders to generate production-ready web applications through AI-assisted project planning, code generation, and structured development workflows.
  • Implementing a Retrieval-Augmented Generation (RAG) pipeline to manage project context across code, design, and product requirements.
  • Building the frontend using TypeScript, React, and Daisy UI, and integrating automated project artifact generation to ensure clean documentation and traceability.
  • Contributing to a Docker-based preview system for live testing and isolated deployment of generated applications, supporting a seamless end-to-end development experience for users.
  • Optimizing context retrieval performance using parallel request strategies and asynchronous processing, improving generation latency and accuracy.
  • Developing and deploying a robust code validation system with staged linting, formatting, and type-checking, reducing code errors by over 60% in testing.

Personal Projects

I love exploring and learning new technologies. I try to code a little bit everyday to learn new system design and coding concepts, among other things.

gRPC Task Scheduler - Distributed Production-Ready Job Scheduling System

GitHub →

Go, gRPC, Protocol Buffers, CockroachDB, Redis, Prometheus, Grafana, Docker

  • Built a distributed, production-ready task scheduling system with gRPC API for job submission, status queries, cancellation, and real-time streaming updates, supporting priority-based queuing with four priority levels (CRITICAL, HIGH, DEFAULT, LOW) and TLS security for encrypted communication.
  • Architected a reliable job processing pipeline using CockroachDB for persistent job state storage and Redis for priority-based job queues, implementing idempotent job submission and comprehensive job lifecycle management.
  • Implemented robust error handling with automatic retry logic using exponential backoff, dead-letter queue (DLQ) for permanently failed jobs, and a reaper process to recover stuck jobs that have been in processing too long.
  • Designed a scalable worker pool architecture leveraging goroutines for concurrent job processing, with graceful shutdown handling ensuring in-flight jobs complete before termination, and support for horizontal scaling by running multiple worker instances.
  • Integrated comprehensive observability with Prometheus metrics for job submission rates, processing throughput, queue depths, error rates, and latency, along with Grafana dashboards for real-time visualization and monitoring.

Track-Ops - Enterprise-Grade Real-Time Order Tracking System

GitHub →

Spring Boot, Java 21, Apache Kafka, Debezium CDC, Redis, PostgreSQL, Kubernetes, Docker, SAGA Pattern, Outbox Pattern

  • Built a production-ready, event-driven microservices architecture implementing Change Data Capture (CDC) with Debezium for real-time database synchronization and event transformation from raw CDC events to application events.
  • Implemented SAGA pattern for distributed transaction management and Outbox pattern with dual strategies (Outbox + Debezium CDC) to ensure reliable, at-least-once event publishing across microservices.
  • Designed Redis caching with intelligent CDC-driven invalidation and cache warming strategies, achieving high cache hit rates and maintaining consistency across distributed systems using multi-database caching with TTL management.
  • Architected microservices with independent PostgreSQL databases per service, implementing Domain-Driven Design (DDD) with clear service boundaries and event-driven communication via Apache Kafka.
  • Implemented Dead Letter Queues (DLQ) with fault tolerance and error handling, along with comprehensive monitoring using Prometheus for metrics collection, Spring Boot Actuator, health checks, and CDC lag tracking for enterprise-grade observability.

Autonomous System Design Document (SDD) Generator Agent

GitHub →

Python, LangGraph, LangChain, PostgreSQL (pgvector), OpenAI (GPT-4o-mini, text-embedding-3-small), Pydantic, SQLAlchemy, PyYAML, jsonschema

  • Built a production-ready, self-correcting multi-agent system using LangGraph for stateful workflow orchestration, implementing automated review and revision loops with Human-in-the-Loop (HITL) checkpoints to transform project briefs into standards-compliant System Design Documents.
  • Architected specialized agents (SystemArchitectAgent, APIDataAgent, ReviewerAgent, WriterFormatterAgent) using the Strategy Pattern with a uniform BaseAgent abstract class, enabling polymorphic agent execution and modular, object-oriented design for extensibility.
  • Implemented Agentic Retrieval-Augmented Generation (RAG) with pgvector for semantic search, using OpenAI text-embedding-3-small (1536 dimensions) and cosine similarity search to ground all generated content in internal software engineering standards stored in a PostgreSQL vector database.
  • Designed a comprehensive ETL pipeline (Extract, Transform, Load) for document processing, implementing intelligent chunking with LangChain RecursiveCharacterTextSplitter and MarkdownHeaderTextSplitter, batch embedding generation, and metadata enrichment for vector database ingestion.
  • Implemented the ReAct (Reasoning + Acting) pattern in SystemArchitectAgent, combining semantic RAG retrieval with LangChain ChatOpenAI for structured reasoning and generation, enabling agents to query knowledge bases, synthesize context, and produce high-quality architectural designs.
  • Built Model Context Protocol (MCP) tools for structured database queries, integrated JSON Schema validation with configurable rubrics for quality scoring, and implemented automated document formatting with YAML frontmatter and Mermaid diagram generation for enterprise-grade SDD output.

DriveInsight - HackThe6ix (MLH) Hackathon Winner @ UofT

GitHub →

MongoDB, Express.js, React.js, Node.js, Flask, React Native

  • Led the development of a system to gather gyroscope data and analyze it using computer vision and AI, enhancing the detection of driver behavior and improving road safety.
  • Designed and deployed a scalable RESTful API using Flask to process and retrieve driver behavior data efficiently.
  • Implemented a real-time monitoring feature using WebSocket and Socket.io, providing immediate feedback on driver behavior and reducing response times.

Stud.io - NSBEHacks (MLH) Hackathon Winner @ UofT

GitHub →

Next.js, Tailwind CSS, JavaScript, Flask, MongoDB Atlas, Python, LLMs, Q-learning

  • Developed a dynamic and responsive frontend using Next.js, Tailwind CSS, and React.
  • Built a scalable RESTful API with Flask and MongoDB Atlas to manage users, flashcards, performance data, and embeddings.
  • Integrated large language models (LLMs) for flashcard generation and student response evaluation, combined with Q-learning for personalized study tracking.
  • Implemented vector search with cosine similarity to find related flashcards, enhancing personalized learning and knowledge gap detection.

Scriptorium - Online Code Platform

GitHub →

Next.js, React, TypeScript, Prisma ORM, Docker, SQLite/PostgreSQL, TailwindCSS

  • Built an innovative online platform enabling users to write, execute, and share code in multiple programming languages with real-time execution and syntax highlighting.
  • Implemented Docker containerization for secure code execution with resource limits, network isolation, and automatic container cleanup to prevent abuse.
  • Developed comprehensive features including user authentication, code templates, blog posts, and content moderation with reporting systems.
  • Created a responsive design with dark/light theme support and intuitive navigation for seamless user experience across all devices.

ProductivityMate - Full-Stack Productivity App

GitHub →

Next.js, TypeScript, Spring Boot, Java, Gradle, TailwindCSS, Docker

  • Developed a modern productivity web application with integrated Calendar, Task Management, Reminders, and Pomodoro Timer features.
  • Built a full-stack architecture using Next.js/TypeScript frontend with Spring Boot/Java backend, connected via RESTful APIs.
  • Implemented Docker containerization with docker-compose for seamless development and deployment of both frontend and backend services.
  • Designed with responsive UI/UX using TailwindCSS and planned features for desktop app (Electron.js) and AWS EC2 deployment for real-time notifications.

Extracurriculars

I love working with and meeting new people. I'm a strong believer in always constantly learning and I feel that extracurriculars allow me to be well-rounded. Extracurriculars help me meet people that push myself to be a better person and provides that environment that lets me grow.

UTMIST Logo

Director of Software Infrastructure

May 2025 - Present

UTMIST (University of Toronto Machine Intelligence Student Team)

Director of Software Infrastructure at North America's largest student-led organization for AI/ML. UTMIST has 500+ developers across all teams, completed 50+ AI/ML projects, partnered with 20+ industry collaborators, conducted 50+ academic workshops, published 50+ articles and notebooks, and published 10+ papers in top-tier conferences. Leading infrastructure initiatives to empower students of all skill levels in accelerating their AI/ML careers through workshops, conferences, hackathons, and collaborative projects.

UofT Blueprint Logo

Software Developer

Sept. 2024 - April 2025

UofT Blueprint

Software Developer at Blueprint, a group of passionate UofT students dedicated to building software for social good. Collaborated with Toronto Employment Community Services to develop technological solutions that help them make a bigger impact on the community. Worked alongside passionate student developers to create real-world solutions for non-profit organizations, using technology to give back and create positive change.

UofT Web Development Club Logo

Software Developer

Sept. 2024 - April 2025

UofT Web Development Club

Software Developer at the Web Development Club, collaborating with MITO2i to shape the future of health through mitochondrial research and innovation. Worked on a project that advanced science in mitochondrial medicine & research, helping transform the understanding of mitochondrial health and disease to lead to better diagnoses and treatments that enhance quality of human life.

UofT Varsity Blues Logo

Athlete

UofT Junior Varsity Volleyball Team

Former member of the University of Toronto Junior Varsity Volleyball Team, competing in intercollegiate matches. Developed teamwork, leadership, and discipline through rigorous training and competitive play while representing the university in athletic competitions.

Volunteer Experience

I try my best to give back to the people around me. The world has given so much to me, and I want to give back to the world.

Fort York Food Bank Logo

Volunteer

Fort York Food Bank

Dedicated volunteer supporting Toronto's most vulnerable populations by assisting in preparing and distributing food packages to support the Chinatown community in Downtown Toronto. Committed to making a meaningful impact in the fight against food insecurity and supporting those in need within the local community.

Blog

I share my thoughts, experiences, and insights from my journey as a student and developer. Explore my collection of personal reflections and life lessons.

Welcome to my blog!

A space for personal reflections, life lessons, and the occasional insight from my journey as a student and developer. Welcome to my collection of thoughts and experiences.

Explore Posts

Get In Touch

I'm always interested in new opportunities and exciting projects. Whether you have a question or just want to say hi, feel free to reach out!