Profile Picture
Alan Wu
Computer Science @ UBC

About

Personal Photo

Hi! My name is Alan, and I'm a Computer Science student at UBC. I discovered my passion for software development in high school after self-teaching programming as a hobby, which ultimately inspired me to pursue this field. Since then, I've continuously refined my skills through university classes, self-study, personal projects, hackathons, and internship experience. This journey has helped me build a strong foundation in full-stack development, but I'm always eager to explore new areas of tech. I'm excited to continue growing as a developer and take on new challenges to elevate my personal and professional growth. Please feel free to connect and thanks for stopping by!

NAME:

Alan Wu

LOCATION:

Vancouver, BC, Canada

SCHOOL:

University of British Columbia

DEGREE:

BSc Computer Science

EXPECTED GRADUATION:

May 2026

EMAIL:

alanwu0004@gmail.com

Email LinkedIn GitHub

Languages

Java
Java
Python
Python
C++
C++
C
C
JavaScript
JavaScript
TypeScript
TypeScript
HTML
HTML
CSS
CSS
SQL
SQL
R
R

Libraries / Frameworks

React
React
Vue
Vue
Node
Node
Express
Express
Firebase
Firebase
Oracle
Oracle
SQLite
SQLite
Jest
Jest
Junit
JUnit
Numpy
NumPy
Pandas
Pandas
Matplotlib
Matplotlib
Pygame
Pygame
scikit-learn
scikit-learn
Tidyverse
Tidyverse
Tidymodels
Tidymodels

Developer Tools

Git
Git
npm
npm
Azure DevOps
Azure DevOps
TeamCity
TeamCity
Figma
Figma
Vite
Vite
Jupyter
Jupyter
Raspberry Pi
Raspberry Pi
Arduino
Arduino

Experience

SMART Technologies

Software Engineer Intern

Calgary, AB, Canada

Sep 2024 — Present


Vue

JavaScript

TypeScript

Firebase

AWS

  • Develop innovative solutions for Lumio, an edtech platform enhancing digital learning for over 1.5 million teachers and students in classrooms around the world.
  • Architect and maintain a large-scale Vue web application leveraging Firebase and AWS S3 cloud storage.
  • Practice Agile development with CI/CD workflows enabling seamless feature integration and time-to-market.
  • Oversee and lead the end-to-end lifecycle of novel features such as Learning Management System (LMS) integration with Canvas and Schoology.
  • Conduct code reviews, write Jest unit tests, and work closely with the QA team to deliver scalable, robust code.
  • Automate with TeamCity pipelines to streamline build, test, and deployment processes to optimize releases.

Projects

Click to view project repository/website

Alloy

Alloy

React

JavaScript

Node

Firebase

Alloy bridges the gaps in clubs, workplaces, and social groups by intelligently generating personalized hangouts. Designed to foster meaningful connections beyond one's immediate team or social circle, Alloy forms groups and assigns an activity based on insights such as MBTI personality types and shared interests.

The web app uses Firebase to manage user and hangout information and integrates the Google Places API to recommend a tailored hangout activity with detailed locale information.

Project at nwHacks 2025, a 24-hour hackathon of 730+ participants hosted at UBC.

TrailFinder

TrailFinder

React

JavaScript

Node

Express

Oracle

SQL*Plus

TrailFinder is a web app that helps users discover and explore hiking trails near them. It consolidates all the essential hiking trail information one would need to find, prepare for, and document their next adventure.

Detailed trail descriptions, hazard alerts, user reviews, and more are stored in an Oracle database and queried using Express and SQL*Plus. Developed and deployed RESTful APIs to enable seamless data storage and retrieval.

Foodease

Foodease

React

JavaScript

Node

Foodease is a single-page web app dedicated to solving the infamous question: "Where should we eat?" Through a step-by-step guided user flow, users can customize preferences like weather, meal type, budget, and more, ensuring they receive the ideal restaurant recommendation that aligns with their desires.

The web app leverages OpenAI API to generate curated cuisines, Pexels API to retrieve dish-related images dynamically, and Google Places API to return a relevant restaurant along with its information, location, and directions.

Project at nwHacks 2024, a 24-hour hackathon of 740+ participants hosted at UBC.

TouchType

TouchType

JavaScript

HTML

CSS

Live Website

TouchType is a comprehensive website offering engaging keyboard-related activities and resources. Users can explore features like a typing test, keyboard test, and reaction time test. A live demo can be accessed by clicking this project card!

This website was my first foray into web development, born as a passion project inspired by my growing interest in mechanical keyboards at the time.

Nook

Nook

Java

Figma

Finalist project at HelloHacks 2023, a business hackathon of 70+ participants hosted at UBC.

Nook is designed to help university and college students find available study spots on campus. By providing estimated capacity ratings, Nook helps users gauge the availability of unmonitored spaces such as common areas and student lounges. With a strong focus on accessibility, Nook offers customized colour settings tailored to support users with common forms of colour blindness, ensuring an inclusive and seamless experience for anyone.

Restaurant Table Manager

Restaurant Table Manager

Java

Swing

JUnit

Table Restaurant Manager is an application that helps waitstaff efficiently manage table availability and orders. It enables seamless loading and saving of restaurant menus, table orders, and availability data using JSON for persistent storage.

This application features a dynamic and interactive GUI built with the Java Swing library to deliver an intuitive user experience. Created using test-driven development (TDD), the code achieves 100% test coverage to ensure reliability.

Floating Fish

Floating Fish

Java

Swing

Floating Fish is a simple, side-scrolling endless runner game designed as a learning tool to teach the fundamentals of Java and object-oriented programming (OOP) to a friend.

This game showcases key design principles such as type hierarchies, polymorphism, and abstract classes. Additionally, it demonstrates how to create an intuitive GUI and register key inputs to control gameplay via the Java Swing library, offering a hands-on approach to understanding core programming concepts.

Simple Mini Games

Simple Mini Games

Python

Pygame

Simple Mini Games is a collection of classic games, including snake, tic tac toe, and pong, all developed using Python and the Pygame library for the GUI and user inputs.

This project served as my Capstone for grade 12 (senior year of high school) and marked my first endeavour into programming. I used it as an opportunity to self-teach Python and grasp the fundamentals of coding. It was a challenging yet rewarding experience that laid the foundation for my programming skills and sparked my passion for software development.

Contact

Feel free to connect!

Email LinkedIn GitHub