A student work study of physical computing and construction.

Ideation, Physical Construction, Cataloguing, Presentation of Ideas

LumiSeat gives a streamlined system for finding open seating and reserving a seat when the user needs to step away. Our goal was to create a simple solution that would provide peace of mind of not losing a spot, as well as taking out any awkward situations about accidentally sitting in another person’s seat.

This project was made in partnership with Erfan Dastournejad.

The Brief

Our team was tasked to create a working prototype of furniture that can sense an input and respond appropriately by actuating an output. This meant we were bound to the restrains of creating a fully functional prototype from ideation to final product in 8 weeks. The immediate challenge was clear: how do we make it work? 

Getting Started

Narrowing our Focus

The brief provided was very broad, so we had to really think about what we wanted to achieve with this design. To do this we asked ourselves lots of hypothetical questions from the perspective of "What if?" with various pieces of furniture and situations. This process eventually landed us onto the following two questions:


What if a chair could detect when it is being used?

How might we streamline the process of finding and reserving available seating?

Identifying Opportunities 

As we explored this space we wanted to find the pain points people experience when looking for a place to sit. Through student observation and small interviews we were able to land on these three main concerns:

  • Anxiety of losing a spot

  • Accidentally taking someone’s seat

  • The awkward question: “Is this seat taken?”

Based on this feedback we began to shape our design for potential use in bars, cafés, libraries, and other social spaces.

The Rules

Because we knew that a great deal of our time would be dedicated to the physical construction and coding of the project's Arduino and sensors, we set extra requirements for ourselves to design by:

If extra steps aren’t needed, don’t add them.

Sitting should be a quick process. We didn't want to design anything that would take something simple and complicate it for no reason.


Individual Recognition 

Creating a reserving system would do no good if the seat could not tell one individual from another. Because of this, we shaped our design around giving a person a way to identify themselves to the chair.


Time Out Feature

We quickly realized that our design could create friction in cases of someone reserving a seat and never returning to use it. Because of this, we wanted to ensure that the chair could reset or time out after a desired period of time.



The most important part of this challenge was the "will it actually work". Because of this, I had to build my knowledge of Arduinos, sensors, and code from the ground up; computing components were present in the designs thought process from day one. We began with the general concept: tapping a phone to the back of a chair to reserve the spot during a minor absence. 

Interaction Model

An Arduino Uno was chosen for our computing element, and shaped our programming process from there. We wanted an LED display to represent the seat's availability: blue meaning the seat was unreserved and red meaning the spot had been claimed. Keeping in line with our rules, we did not want to add any extra steps to sitting down if they were not necessary. Because of this, a pressure sensor was tucked inside the cushion of the seat. If the seat was unreserved, then the user could simply sit down and the LEDS would turn off while the seat was in use. This function would both save power and avoid the light from disturbing the person while using the space.

As for the actual process of reserving, Lumiseat's code worked in "locked", "unlocked", and "off" states. If the chair had not been reserved it was in the unlocked (blue) state. During this time anyone could take a seat and the LEDs would turn off– changing the code's state to match. 

Once the person decided they wanted to reserve the space, they could tap their phone onto the back of Lumiseat and trigger the locked (red) function. The chair could only be unlocked via tapping the same phone again or the reservation timing out. In cases where a reserved seat was being occupied without being properly unlocked by the correct person, the lights would flash from red and blue to indicate the situation to the person.

Final Design

As we refined the design some form changes were made for usability. One of the biggest of these adjustments was the placement of the LED strip. Instead of around the base in a halo like fashion, we decided to move them to line the backing of the seat to allow easier visibility when scanning a room for a seat. The final code was refined to the following model to create easier communication between components.


If I had more time I would have liked to expand the possibilities with LumiSeat with options such as unique color selection, and making the timer easily customizable to the establishment's preferences. Having had little to no previous experience in coding, wiring, or sensors, achieving what we did with LumiSeat was amazing.


I’m proud of what we accomplished as a team; we each supported each other with our unique strengths and weaknesses. Together we were quickly able to find our roles to create a working product. This project helped push me outside of the idea space and into the physical world of construction.

Want to get in touch?

Find me here!