About Me
I'm Leo, a computer engineering student at the University of British Columbia! I love exploring how things work, especially computers. Some of my favourite projects were the lox interpreters and graphics renderer.
Experience
Caracal Technologies
May 2025 – Jan 2026Software Developer
Vancouver, British Columbia
- Developed production Ticket Vending Machine (TVM) software using Kotlin, Java, and Jetpack Compose, applying Clean Architecture, Domain-Driven Design, and MVVM.
- Architected and implemented Android application flows across repositories, use cases, ViewModels, and Compose views, improving separation of concerns and enabling isolated testing of business logic.
- Refactored a 3,000+ line state manager from deeply nested conditional logic into a hierarchical finite-state machine (FSM), isolating operation-mode transitions and simplifying feature development and maintenance.
- Implemented maintenance-mode UI/UX using Jetpack Compose and Material 3, providing intuitive guided workflows for TVM servicing and configuration.
- Automated TVM firmware flashing by replacing an error-prone manual procedure with a guided installation wizard, integrating software workflows with device deployment.
- Configured Hilt/Dagger2 dependency injection and mocked hardware interfaces to enable automated testing of application logic without requiring physical TVM hardware.
UBC Thunderbots
Sep 2026 – PresentSoftware Developer
Vancouver, British Columbia
- Develop software in C++ and Python for autonomous soccer-playing robots competing in the RoboCup Small Size League.
- Refactored Protobuf-over-UDP networking to share a Boost.Asio io context and worker thread across senders and listeners, eliminating per-socket threads and centralizing asynchronous I/O management.
- Implemented lifetime-safe asynchronous receive handling and synchronized socket shutdown. Created 8 regression tests covering concurrent closure, callback completion, port release, and shared-context isolation.
- Developing HAL for ESP32 power-board firmware in C++ to enable stateful testing for the board that controls kicking and chipping, PWM dribbler control, capacitor charging, and battery/current monitoring.
University of British Columbia
Sep 2024 - Jun 2026Undergraduate Teaching Assistant
- Taught Derivative Calculus, Integral Calculus, and Introduction to Computation in Engineering (C, C++, Python), receiving over 90% positive ratings in student surveys.
- Guided students in large (∼300 students) and small (∼50 students) classes by answering questions and reinforcing concepts.
- Provided detailed feedback on coding lab submissions and math assignments to help students identify areas for improvement.
UBC Rapid
Sep 2023 - Jun 2025Filament Recycler and Web Dev Sub-Team Member
- Refactored JavaScript code to improve readability and enable easier feature implementation.
- Enhanced website mobile experience by adding side-scrolling functionality for pages with multiple images.
- Designed safety procedures for the electrical team handling >120V AC power and created PCB guidelines for UV resin printing.
- Created wiring diagrams and parts lists for the PID temperature control of a filament recycler extruder.





