Projects

Rivian Mission Control: Enterprise Telemetry & Digital Twin Engine
A real-time EV fleet telemetry and remote operations platform built in Go and TypeScript, inspired by Rivian OS 2. A custom 5-byte TCP framing protocol with Protocol Buffers cut wire payload 5.45x versus JSON over HTTP, while a 10-worker pool ingested 200 concurrent vehicle streams at 1 Hz with zero dropped messages. Cloud-to-vehicle commands are secured with ECDSA (secp256r1) signatures and motion-gated safety interlocks, measuring 0.094 ms p50 round-trip latency over local TCP. The Three.js/React operations console streams live fleet state over WebSockets batched into 250 ms render flushes, with 3D vehicle views and an event-driven rules engine flagging battery thermal events above 55°C and cell voltage imbalances over 0.10 V across 9 simulated Tesla and Rivian models on California highway routes.
JevTerm: Natural Language Smart Terminal
A natural-language terminal for Windows that turns plain-English requests into PowerShell commands. Instead of generating commands token by token, it uses TypeSafe Jev 1.13 decisions through OpenRouter to route each request to one of 22,000+ pre-tested templates from tldr-pages and native cmdlets, reaching a sub-500ms median latency at $0.042 per 1M tokens. Every command passes a layered safety pipeline: a zero-model regex blocklist that vetoes destructive commands in under a millisecond, an AI safety audit for medium- and high-risk actions, and tiered confirmation gates before execution, with an append-only audit log of everything that runs.

PromptVideo: AI Timeline Copilot
A browser-based video editor you control by describing the edit. Google Gemini 3.5 Flash Lite translates prompts like "split at 4.2s and cut the dead air" or "zoom in 25% on the speaker" into deterministic edits on a multi-track Remotion timeline, and follow-ups like "make it bigger" update existing elements instead of creating duplicates. The editor includes stackable video, text, and zoom tracks, razor splitting, drag-and-trim, on-frame text dragging with magnetic snapping, multi-clip stitching, and a fully client-side MP4 export with pixel-for-pixel parity to the live preview.

Lane Segmentation for Autonomous Navigation
As project lead for the lane detection module of an autonomous vehicle in the GM-SAE AutoDrive Challenge II, I trained a custom YOLOv11 segmentation model in PyTorch on an NVIDIA Blackwell GPU cluster, reaching 83% mAP50 with under 25ms inference latency. The model learned from 50,000+ images labeled over many 'annotation nights', and I audited the annotations of 30+ contributors to keep the dataset consistent. I also wrote a Python automation script using NumPy, Pandas, and the OpenAI API to convert industry datasets into standardized YOLO format, saving 40+ hours of manual conversion, and oversaw a bird's-eye view transformation and the algorithms that calculate the vehicle's position relative to the lane center for the navigation stack.

TreatTowers: Autonomous Pet Feeder
A smart cat feeder that dispenses kibble only when it recognizes the right cat. An Arduino captures camera images and streams them over serial to a Python Flask server, which runs a custom-trained YOLO model to identify the cat's breed and match it to that cat's feeding schedule. When a feeding is allowed, the server sends a request to the Wi-Fi-connected Arduino, which turns a stepper motor and opens a servo gate to dispense a set amount of kibble, with an ultrasonic sensor on board. Pet owners manage their cats and weekly feeding schedules from a Next.js dashboard backed by the Flask REST API, including live schedule status.

Image Captioning Model Comparison
As a member of an Agile team of six, I contributed to the development and comparison of four lightweight encoder-decoder models for image captioning using Keras. We employed a modified pretrained VGG16 convolutional neural network to extract image features from the Flickr8k dataset. Throughout this process, I gained significant knowledge and skills in deep learning, model optimization, and teamwork. To showcase our work, I created an interactive website with a React.js frontend and Flask backend, demonstrating the models and their bidirectional variants at the Canadian Undergraduate Conference on AI (CUCAI). Additionally, I co-authored and published a research paper for CUCAI, presenting an in-depth analysis of our experiment's findings. This project was a tremendous learning experience, enhancing my technical expertise and collaborative abilities.

Emergency Response Mobile Robot
I led a team of fellow students to develop a prototype autonomous emergency response robot as part of a semester long project, utilizing ROS2, Arduino, Python, and C++. We applied what we learned in our courses to equip the robot with a thermal camera for heat spot detection, making it highly effective in emergency situations. To enhance its efficiency and safety, we incorporated LiDAR-based obstacle avoidance and a PID controller, directly applying theoretical knowledge to practical challenges. Additionally, we designed the mounts and system architecture using SOLIDWORKS and Miro. This project allowed us to bring together classroom concepts and real-world applications in a meaningful way.

Line-Following Loader Robot
Programmed an autonomous line follower robot that was able to independently traverse a test arena while picking up and transporting plastic wire caps using a scoop. The project included the use of Arduino in C++. The robot moved using 2 servo motors while the scoop was powered by a separate servo. A LIDAR detector was used to find walls and indicate when to turn. 2 photoresistors were responsible for line following. As a result, I was able to create a working prototype that completed its assigned tasks.

Robotic Assistive Arm Prototype
In my first-year course, APSC-101, me and three others formed a group to create a working robotic assistive arm that functioned to lift various objects for those who had disabilities. The project included various implications such as complex problem solving, a high degree of mathematical modeling, precise CAD designing, and Arduino coding and wiring. Combining everything, a final, functioning prototype was created.

Maze Generator and Solver
My final project for Data Structures and Algorithms: a maze generator and solver written in C++, with graphics rendered in Raylib. Mazes are carved and then solved using a recursive backtracking algorithm, with graphs, stacks, arrays, and hashing used to track visited cells and trace a path from start to finish.

Portfolio Website V1
One of my first projects, this is my old portfolio website. It is built with React and JavaScript with styling done in vanilla CSS. It is crazy to see how much I have improved since then, but I am still proud of this project as it was my first time using React.js.

Store Website: Spice Mart
Together with Joel Kayyalakam, I designed and developed the official website for Spice Mart, a South Indian take-out and grocery store in Barrie, Ontario. Customers can browse menu options and discover current promotions on a responsive front end built with Next.js and Tailwind CSS. Behind it, a RESTful API built with Next.js lets staff manage menu updates themselves, Auth0 secures administrator access, and MongoDB Atlas stores the menu data.