top of page
Abstract Lines

Projects

This collection of projects reflects both the breadth and depth of my technical experience across software and hardware systems. From front-end design to algorithmic optimization, each project challenged me to apply a range of skills, including AI, full-stack web development, heuristic search, embedded systems programming, and user-centered design. Together, they demonstrate my ability to build robust, thoughtful solutions across disciplines and platforms.

Black Metal

AI-Powered 2048 Solver

I built an AI agent to play 2048 using expectiminimax search with alpha-beta pruning and custom heuristics. The solver evaluates board states based on structure, smoothness, and long-term potential, consistently reaching the 2048 and 4096 tiles. All decisions are made in under 150ms.

Key skills: Python, Heuristic Search, Algorithm Design, AI/ML Concepts, Game Theory

Columbia Formula Racing Website

I individually designed, developed, and deployed the official website for Columbia’s Formula Racing team, one of the university’s largest and most visible engineering clubs. Built in React with Tailwind CSS and deployed via GitHub Pages, the site serves as both a public-facing showcase and an internal resource, balancing aesthetics, performance, and maintainability.

Key skills: React, Tailwind CSS, Git/GitHub, Component Architecture, Responsive Design

Screenshot 2025-07-17 at 11.12.43 AM.png

EZroute: A Concept App

Developed as part of a Human-Centered Design and Innovation course, EzRoute is an AI-powered mobile app concept designed to modernize how New Yorkers navigate and discover the city’s 6,000+ annual street fairs. The project began with the observation that information about these events is often inaccessible or fragmented, creating frustration for drivers and missed opportunities for vendors and pedestrians. By integrating real-time traffic data, public event listings, and user preferences through a neural network, EzRoute helps drivers avoid delays and gives pedestrians a curated view of nearby fairs, vendors, and community experiences.

Key skills: Rapid Prototyping, UI/UX Design, Figma, User Research, Systems Thinking

ML-Optimized Walking Robot

This project was a hands-on exploration of machine learning in robotics, developed in close collaboration with a partner as part of an end-to-end design and build process. We set out to create a bipedal, Raspberry Pi-controlled walking robot that could learn how to move through reinforcement learning. While the original design was inspired by duck locomotion, repeated balance and hardware issues forced us to adapt, which culminated in a lateral “shuffling” motion that the robot discovered as an optimal strategy. Through this iterative and often unpredictable process, we gained firsthand experience in the challenges of translating simulated ML solutions into physical movement, as well as the broader reality of working across digital and mechanical domains.

Key skills: Embedded Systems, Python, CAD/3D Printing, Robotics, Gait Optimization

Interactive Coffee Tutorial App

This browser-based app teaches users how to brew coffee using manual methods through simple, clear walkthroughs. Built with Flask and vanilla JavaScript, the app was designed to prioritize usability and clean instructional flow, offering users an approachable way to learn different brewing techniques without distractions. The project became an exercise in lightweight front-end scripting, progressive content design, and iterative UI refinement, all within a minimal tech stack.

Key skills: Flask, HTML/CSS/JavaScript, UX Design, Front-End Development, Instructional Design

Image Captioning with Neural Networks

Built as part of a Natural Language Processing (NLP) course, this project explores the intersection of computer vision and natural language processing by building an end-to-end image captioning system. Using the Flickr8k dataset, I implemented a CNN–RNN pipeline where images are encoded with a pretrained ResNet-18 and captions are generated by an LSTM language model. I extended the baseline with a conditioned LSTM that concatenates image features at every timestep, and I compared decoding strategies such as greedy search and beam search. I addressed practical issues like efficient preprocessing of 6,000+ images, managing tokenization and padding for sequences up to 40 words, and reducing repetition in generated captions

Key skills: PyTorch, Deep Learning, Computer Vision, Natural Language Processing, Decoding Strategies

bottom of page