Projects

Dance Bots

Dance Bot is a ROS2-based robotics project that combines reinforcement learning, computer vision, and motion control to create two robots capable of performing coordinated dance movements against each other. The system used learned policies, color-based visual input, and synchronized base and arm motions to generate responsive choreography, demonstrating experience with multi-agent systems, autonomous behavior, perception, and robotic control in a dynamic, real-time environment with multi-component coordination.

Dance Bots

November 2025 - December 2025

  • Built a ROS2 robot system that combined reinforcement learning, computer vision, and motion planning to perform synchronized dance routines.
  • Integrated base movement, arm motion, and gripper control to coordinate expressive multi-part robotic actions.
  • Used visual input and learned policies to guide behavior, creating a responsive system that connected perception with autonomous motion.

Tools: Python, ROS2, OpenCV, Machine Learning

Q-Learning Robot Control

This project used Q-learning to train a robot to make action decisions based on environmental state. The system learned policies through reward-driven updates and then executed the highest-value actions to complete tasks autonomously. It highlights experience with reinforcement learning, decision-making systems, and robotics integration, including mapping learned policies directly to real robot behaviors and handling state transitions in a dynamic environment.

Q-Learning Robot Control

October 2025 – November 2025

  • Developed a Q-learning system that trained a robot to choose actions based on state and reward feedback.
  • Implemented state-action value updates and execution logic to allow the robot to perform learned behaviors autonomously.
  • Connected reinforcement learning outputs to ROS2 robot actions, bridging algorithm design with real robotic control.

Tools: ROS2, Python

SemaDoc

SemaDoc is an AI-powered documentation tool developed for the UChicago’s Computer Science Instructional Laboratory, designed to automate and streamline documentation workflows using large language models (LLMs). It integrates with Trello for smooth project tracking and supports over 500 concurrent users with sub-100ms database response times. Widely adopted across eight CSIL teams, SemaDoc has reduced documentation processes from hours to minutes for tasks like project updates, API references, and technical specifications.

SemaDoc

June 2025 – Present

  • Developed a fully responsive frontend using TypeScript, Tailwind CSS, and Next.js, enhancing usability for 25 student developers.
  • Collaborated with a 4-person team to integrate LLaMA models and Retrieval-Augmented Generation (RAG) for faster, context-aware content generation.
  • Integrated asynchronous Trello workflows and existing APIs to streamline project tracking and documentation automation.

Tools: Next.js, TypeScript, Tailwind CSS

Rabble

Rabble is a full-stack social media application built with Django, JavaScript, Python, HTML, and CSS. It allows users to create and edit posts, like content, and interact in real time with dynamic frontend updates. The platform includes RESTful API endpoints for CRUD operations and is deployed on Google Cloud Platform, managing SQL databases to ensure persistent and scalable data storage. It supports multiple users concurrently, providing a robust and interactive environment for social collaboration.

Rabble

March 2025 – May 2025

  • Built a full-stack social media application using Django, JavaScript, and SQL, supporting posts, likes, and dynamic frontend updates.
  • Implemented RESTful API endpoints for CRUD operations using Django views and serializers (e.g., POST, PATCH for post creation and editing).
  • Deployed the application on Google Cloud Platform, managing SQL databases and ensuring persistent, scalable data storage.

Tools: Django, JavaScript, Python, HTML, CSS

Unix Shell

The Unix Shell is a fully functional command-line interpreter built in C, designed to mimic core behaviors of traditional Unix shells. It supports job control with foreground and background processes, robust output redirection (> and >+), accurate path resolution, and both interactive and batch input modes. With built-in commands like cd, pwd, and exit, and full support for launching external programs via fork(), execvp(), and wait(), the project demonstrates practical experience in system-level programming and process management.

Unix Shell

December 2024

  • Developed a command-line shell in C with support for command parsing, built-in commands (cd, pwd, exit), and both batch and interactive modes.
  • Implemented standard and advanced output redirection using system calls such as dup2, fork(), and execvp(), including safe handling of temporary files.
  • Managed process creation, input validation, and error reporting to reliably replicate core Unix shell behavior and support job control.

Tools: C

LZW File Compressor

The LZW File Compressor is a C-based implementation of the Lempel-Ziv-Welch (LZW) lossless compression algorithm, enabling efficient and reliable file compression and decompression of various file types. It supports robust file I/O operations and handles complex edge cases, including recursive decoding and unknown codes, ensuring accurate restoration of the original data. This project demonstrates expertise in compression theory, memory management, and fault-tolerant systems-level programming.

LZW File Compressor

October 2024 – November 2024

  • Implemented Lempel-Ziv-Welch (LZW) lossless compression and decompression in C, enabling efficient file encoding and decoding.
  • Handled robust file I/O and edge cases, including recursive decoding and unknown codes, to ensure accurate data restoration.
  • Applied memory management techniques and fault-tolerant programming to create a reliable, error-resistant compression system.

Tools: C