Computer Engineer · Full-Stack Developer · Embedded Systems Enthusiast
Bridging hardware and software. Interested in embedded systems, full-stack development, and building things that interact with the physical world.
About
I’m a Computer Engineering student at Toronto Metropolitan University with a strong interest in embedded systems and building technology that interacts with the physical world.
My work sits at the intersection of hardware and software, where I enjoy designing systems, writing efficient code, and turning ideas into practical solutions.
Technical Skills
In Development
In Development
An IoT-enabled smart water bottle filling and hydration tracking system that automates bottle filling while monitoring daily water intake. An ESP32 communicates with a React web dashboard over Wi-Fi, allowing users to select bottle presets, initiate fills, and view hydration statistics. A VL53L0X Time-of-Flight sensor detects bottle placement while a servo motor actuates the refrigerator's water dispenser, estimating dispensed volume using calibrated flow rate and fill duration. The system is integrated into a custom 3D-printed SolidWorks enclosure with PCB prototyping and clean cable management for a compact, production-inspired design.
Developed an autonomous robot capable of navigating and solving a maze without human input by combining sensor data with real-time decision logic. The system continuously analyzes its surroundings, updates its path, and adjusts movement to reach the exit efficiently. This project explores the intersection of embedded systems, robotics, and algorithmic problem-solving in real-world environments.
Designed and implemented a custom CPU datapath centered around an Arithmetic Logic Unit (ALU) using VHDL and deployed it on an FPGA. The system integrates registers, control logic, and arithmetic operations to execute low-level instructions in hardware.
Developed a JavaFX-based bookstore application that dynamically adapts customer behavior using the State Design Pattern to manage membership tiers and reward logic. The system handles purchases, point accumulation, and real-time status transitions while maintaining persistent data storage. This project explores how object-oriented design patterns translate into scalable, interactive applications.
Developed an object-oriented implementation of Snakes and Ladders in Java, modeling game logic, player behavior, and board mechanics through modular class design. The system simulates dice rolls, snakes, ladders, and turn-based progression while maintaining a clean and extensible architecture.
The classic Ludo game for two players — similar to "Sorry!" — built with Java's drawing library. Players alternate dice rolls and race their pieces around the board. First to reach home wins.