Hi, I'm Scarlett!
Welcome to my portfolio.

I'm a computer engineering student, passionate about developing new skills.

Scarlett Li
(she/her)

Computer engineering student at Toronto Metropolitan University

About me

I am a fourth-year, computer engineering student at TMU and am expected to graduate in 2027. Some of my favourite hobbies include building model kits, crocheting, and gaming! I'm currently working on developing my homelab which includes file sharing across devices, game servers, and a website server.


Learn about my experience at TMU

  • CEN100 Project Manager
  • MUES - Events Crew
  • General Orientation
  • FROSH 2025
  • Metropolitan Engineering Competition (MEC) 2025 - Outreach Coordinator

Technical skills

  • Git
  • Circuit design and analyses
  • Excel
  • Basic soldering
  • Linux

Programming languages

  • Assembly
  • C
  • CSS
  • HTML
  • Java
  • JavaFX
  • JavaScript
  • MATLAB
  • VHDL

Lab equipment

  • Multimeter
  • Oscilliscope
  • Power supply
  • Function generator
  • FPGA board

Simulation tools

  • MATLAB
  • Multisim
  • KiCad
  • Quartus II


Achievements and certificates

  • WHMIS - 2022
  • Dean’s List - Fall 2024
  • Dean’s List - Winter 2025
  • Standard First Aid and CPR-A

Project list

Highlighted Skills
  • Java
  • JavaFX
  • Application of design patterns

Simple bank account application

Purpose:

Develop a simple bank account application.

Requirements:

The application must be a graphical user interface (GUI) based with only one manager that oversees zero or more customers. Each customer has only one bank account which can be classified as silver, gold, or platinum based on the amount within the account.

Design:

The application was coded in Java using Apache NetBeans IDE 19 with JavaFX for the GUI. The singleton pattern was applied to the manager class to insure it only has one instance. The manager has the ability login, logout, and add and delete a customer. The customer class implements the state design pattern so that the type of account is changed when the customer makes a change to the account balance. A customer has the ability to login, logout, make a deposit, make a withdrawal, view their account balance, and make an online purchase.

See more details
Highlighted Skills
  • VHDL
  • FPGA board
  • Quartus II
  • Binary logic

Simple central processing unit

Purpose:

Design a simple central processing unit (CPU) and implement it on an FPGA board.

Team:

Working with another undergraduate engineering student.

Requirements:

The CPU must be comprised of an arithmetic logic unit (ALU) and a control unit where the ALU performs a set of arithmetical and logical functions on two 8-bit numbers. The control unit supplies an opcode to the ALU which defines the operation it must peform.

Design:

The CPU was coded in VHDL using Quartus II. Two registers were created to temporarily store the two 8-bit number inputs (A and B) and pass its values to the ALU. The control unit of the CPU consists of a finite state machine (FSM) and a 3x8 decoder. The FSM cycles through 8 states which correspond to the last 8 digits of my student ID. The student ID digit is displayed on a 7-segment display and the FSM outputs a 3-bit number based on its state. The 3-bit output acts as the input for the 3x8 decoder which will output an 8-bit code that is used as an opcode for the ALU. The ALU takes in the opcode and will perform a function on the two 8-bit inputs based on the opcode. The result will be interpreted as a positive or negative number which is displayed on two 7-segment displays (one for the sign and one for number in HEX) on the FPGA board.

Highlighted Skills
  • Problem-solving
  • Teamwork
  • Research

Metroplitan Engineering Competition 2024: Consulting engineering

Purpose:

Propose a realisitc approach to improve Toronto's transpotation system.

Team:

Working in a design group of four (4) undergraduate engineering students: Azaan Cheema, Hisham El-Hossaini, Rita Alexie Flores

Requirements:

Write a detailed report (less than 10 pages) with a presentation.

Contributions:

Research and idea proposal.

Highlighted Skills
  • HTML
  • CSS
  • JavaScript
  • Web design

Personal portfolio website

Purpose:

Design a website to highlight skills and projects.

Design:

The layout of the website was first created using canva and was then programmed using HTML, CSS, and JavaScript.

Contact me

Let's talk!

If you have any questions or would like to reach out, feel free to fill out the form or email me directly and I will get back to you at my earliest availability.