Full-time student majoring in Computer Science at the University of British Columbia. I have an interest in software engineering and its applications.

Undergraduate Teaching Assistant, Sep 2024 - April 2025
Had the incredible opportunity to contribute to UBC's Computer Science department as an undergraduate teaching assistant for a 1st-year introductory course, where I worked with a team of 40 teaching staff to support the learning of over 1,300 students.
This experience not only deepened my understanding of key computer science concepts but also honed my communication, collaboration, and mentorship skills. Grateful to have been part of a vibrant teaching community and to contribute to the success of so many students.
TypeScript, Node.js, Express.js, React, Vite, Bootstrap, Mocha, Chai
A full-stack web app with a RESTful API backend built using TypeScript, Node.js, and Express.js for preprocessing academic datasets and supporting complex SQL-like queries. Uses the Facade pattern to enable multiple frontend integrations with varied functionality. Developed a React, Vite, and Bootstrap frontend for analyzing course sections data. Tested backend logic and server using Mocha, Chai and Supertest. Deployed frontend on Github pages and backend on Heroku and AWS EKS via Terraform with monitoring.
Python, Flask, Whisper, GPT-4, Redis, PyTorch, CUDA, FFmpeg, Sentence Transformers, React, Vite, Tailwind
An AI-powered tool with a Flask-based RESTful API that transforms lecture videos into searchable, summarized content. Uses FFmpeg to extract audio, Whisper for transcription, GPT-4 for summarization, and Sentence Transformers for semantic search. Developed Frontend with React, Vite, and Tailwind CSS. Optimized with Redis caching and GPU-accelerated PyTorch + CUDA for fast, high-performance inference. Deployed frontend on Github pages and backend on Heroku and AWS EC2. Redis is on Upstash.

TypeScript, Node.js, Socket.io, Express.js, Firebase, React, Javascript, HTML, CSS, Styled Components
A multiplayer version of Tetris built using Node.js, Socket.io, and Express.js for client-server communication to manage game sessions and real-time interactions, paired with Firebase Firestore for the game's data persistence. Developed a dynamic, intuitive user interface with React, TypeScript, and Styled Components, ensuring a seamless gaming experience. Deployed backend on Heroku and frontend on Github pages.

Java, JUnit, Swing
A desktop application written in Java for managing banking operations, showcasing advanced programming concepts like object-oriented design, robust testing, data persistence, and event logging. Utilised Swing for building a graphical user-friendly interface and incorporated JUnit for data testing to ensure application reliability.

TypeScript, Node.js, Socket.io, Express.js, React, Vite, Tailwind CSS, ShadCN
A multiplayer drawing and guessing game inspired by Skribbl.io, built using TypeScript, Node.js, Socket.io, and Express.js for real-time communication and session management. The frontend was developed with React, Vite, Tailwind CSS, and ShadCN. Deployed backend on Heroku and frontend on Github pages.

TypeScript, React, Vite, Tailwind CSS, ShadCN, PokeAPI
A social Pokédex web app that models real users as Trainers to showcase their Pokémon collections, progress, and locations for sharing, trading, and battling. Displays detailed Pokémon attributes, evolutions, and associations with game-world elements. Built a frontend using React, Vite, Tailwind CSS, and ShadCN. Deployed frontend on Github pages.

JavaScript, Node.js, Express.js, OracleDB, React, Vite, HTML, CSS, Chakra-UI
A full-stack web application centered around a custom-designed OracleDB schema modelling complex relationships between Pokémon, Trainers, and Regions. Built a RESTful API with JavaScript, Node.js and Express.js to query Pokémon attributes, evolutions, and their associations with game-world elements. Developed a frontend using React, Vite, HTML/CSS, and Chakra-UI. Not deployed due to Oracle license.
JavaScript, HTML, CSS, OpenAI API, WebScraperAPI, Chrome Extension (Manifest V3) and Storage
A smart shopping assistant built as a Chrome Extension (Manifest V3) using JavaScript, HTML, and CSS, with Chrome Storage for user's preferences. Integrates WebScraperAPI to extract products and brand's data, and OpenAI API to verify brand's origins and suggest alternatives from the same website based on the user's selected country — all in real time while browsing or adding items to carts.
R, tidyverse, tidymodels, ggplot2, kknn, themis
Built a classification model in R to predict the likelihood of coronary artery disease using clinical data. Applied tidymodels for preprocessing, training, and evaluation. Handled class imbalance with themis, explored feature importance using visualizations (ggplot2), and tested multiple models including k-NN (kknn). Evaluated performance using accuracy, precision, and recall to compare against a baseline classifier.
Coming Soon!
Stay tuned for my upcoming projects! Currently working on two projects: AI Onboarding Buddy (repository walkthrough), Chat Searcher (semantic search of all chats).