Our task was to design a device capable of cleaning a flight of stairs. To accomplish this, we designed a self-contained robot with separate systems for driving, climbing, vacuuming, and environment detection. The most definitive constraint was creating a device that could fit on a single stair step as well as operate on stairs with nosing or varying heights. Since the position of the vacuum is critical, and space on a flight of stairs is very limited, the robot includes a mechanism that allows the primary wheels and body to move 360 degrees independently of each other. The robot contains several motors and moving parts that must be made safe for customers, but access to user configuration and recharging are also important. The overall design reflects these needs and is densely packed to include all of these features without being too bulky for normal use.