✳ A little curiosity. A lot of code.

Bernie
Liu.

Software Engineering student at Waterloo.

I build thoughtful web experiences, useful tools, and robots that find their own way.

Software Engineering student @ University of Waterloo

Scroll to explore ↓

01 / Selected work

Ideas, made real.

More on GitHub
Snitch interview review and analysis platform logo
Web

Snitch

An evidence-first second look at interviews. Review recordings, explore timestamped moments, and compare spoken claims with a résumé, with live interviews and screen sharing built in.

Next.jsPythonFastAPIWebRTC
Air Transit airport finder application screenshot
Web

Air Transit

Making airport data easier to explore. Search by location and discover airport codes, cities, countries, and coordinates in one place.

TypeScriptHTML / CSSJSON
Automated Invoice Generator desktop application screenshot
Automation

Invoice Generator

From spreadsheets to ready-to-send invoices. A desktop app that turns CSV and XLSX data into formatted DOCX documents using reusable templates.

PythonPyQt5DOCX
VEX Robotics logo
Robotics

Autonomous Robotics

Bringing code into the physical world. Robot control systems built with odometry, PID tuning, pneumatics, and autonomous path planning.

C++PROSLemLib
Kitchen 3D cooking simulation game screenshot
Games

Kitchen 3D

A little kitchen chaos, built from scratch. A single-player game inspired by Overcooked, with ingredient preparation, cooking stations, and orders to complete.

JavaScriptThree.jsGame development

02 / A little about me

Logic meets
imagination.

The longer version

I like turning “what if?” into something you can actually use.

I’m Bernie, a Software Engineering student at the University of Waterloo. My interests live somewhere between full-stack development, robotics, and making everyday things a little easier.

I started with small games and websites, then found my way into educational apps, automation tools, and autonomous systems. Outside of code, I lead clubs, mentor new students, and help make technical spaces more welcoming.

Thoughtful interfacesUseful automationThings that move

03 / Along the way

Building. Leading. Learning.

The experience behind the work.
01

Teenage Theory

Full-Stack Developer

July 2025 — July 2026Richmond Hill, Ontario

Co-founded and developed a student-led blogging platform using Next.js, React, Prisma, and MongoDB, enabling teenagers to publish and manage original articles.

Implemented CRUD functionality, responsive interfaces, and Firebase Storage integration for image uploads across mobile and desktop devices.

02

Richmond Green Robotics Team

Lead Programmer

Sept. 2024 — June 2026Richmond Hill, Ontario

Founded and led a VEX V5 robotics team with 20+ members, coordinating software, mechanical, and outreach efforts throughout the competition cycle.

Programmed autonomous and driver-control systems in C++ using PROS and LemLib, integrating motors, sensors, pneumatics, and PID-based movement.

03

Richmond Green Computer Science and Model United Nations Club

Software Developer

Sept. 2023 — June 2026Richmond Hill, Ontario

Developed the official Model UN website using HTML, CSS, JavaScript, and Tailwind CSS, serving 300+ users while leading a team of six contributors.

Built reusable responsive components and interactive frontend features, debugging layout and browser issues to maintain a consistent experience across desktop and mobile devices.

A foundation for what’s next

Current student

University of Waterloo

Software Engineering

Focused on full-stack development, systems, and practical software projects.

Secondary education

Richmond Green Secondary School

Ontario Secondary School Diploma

Computer science, math, robotics, chemistry, physics, and leadership.

04 / The toolkit

01

Languages

JavaScriptTypeScriptPythonC++CC#HTMLCSS
02

Frontend

ReactNext.jsResponsive UICanvasA-Frame
03

Backend & data

Node.jsMongoDBPrismaFirebaseREST APIs
04

Tools

GitVercelFigmaPyQt5PROSLemLib

05 / Something in mind?

Let’s build
something good.

Projects, opportunities, or a good conversation.
My inbox is open.