✨“What I cannot create, I do not understand.”✨

— Richard Feynman

Q learning Tic Tac Toe

Built a Tic Tac Toe agent that is trained by Q learning Algorithm, being able to play against human player with a high winning rate and a 0 loss rate.

  • Trained separate Q-tables for Player X and Player O.
  • Optimized both Q-tables through self-play between 2 players X and O controlled by computer.

Typewriter

Built a text editor that is able to run within user's terminal, supports most of the functionality as a basic editor (e.g. moving cursor, adding/deleting contents, saving text etc).

  • Used the Stack ADT for undo and redo functionality
  • Extensively tested the "real world" edge cases (e.g. when the cursor is at top, bottom, left edge, right edge of the terminal)
Typewriter Project

FriendFinder

Created a social website that matches users based on hobbies, location, and availability, then suggests group activities using AI.

  • Aimed to address the growing sense of loneliness by enabling meaningful connections without requiring extensive personal information upfront.
  • Tech stack: HTML/CSS/JavaScript · Node.js & Express · MongoDB Atlas · Claude (Anthropic)

Intelligent Passenger Flow Analysis and Prediction for Urban Rail Transit

Designed a time-series model based on a neural network to analyze large-scale urban transportation datasets and forecast future passenger flow using MATLAB, SPSS.

  • Optimized neural network parameters (input–hidden weights, hidden/output thresholds) using a genetic algorithm to obtain globally optimal solutions.
  • Incorporated feature engineering principles by selecting key variables (e.g. weather, temperature, and holiday indicators) from multi-factor datasets (e.g. anonymized metro trip records, station metadata, and user attributes).