Inspiration
The night before the WiCHackathon, Lucy Zhang was doing laundry in the communal laundry rooms. As a freshman at R.I.T., many of us dread doing laundry because of the difficulties we would run into, from walking into the public laundry room and realizing that half the machines are broken and rest are taken to finding a half dissolved tide pod in the detergent drawer. We noticed that there was no resource for students to properly do laundry. When entering college, students prepare themselves for the worst, academically, and learning to do laundry may slip their minds because for some people it may be their first time doing laundry. This is also a resource that could help the community be more hygienic and make being hygienic efficient. We wanted an application that would inform the population on respecting the shared laundry room and provide information on the purposes of each setting on the machines. We hope to make the lives of college students slightly less stressful.
What it does
RIT Laundry focuses on stream lining the college laundry process by displaying open machines and by informing users of best practices that help clean their clothes and keep the facilities clean and functional.
How we built it
We built our project in two main parts. The front end part, which is the app, and the back end which is the notification sending process.
Front End
The user interface was made in Xcode using swift/swiftUI. The UI features five tabs where users can access several different functionalities of our app. The home page includes collapsible tabs that explain how each tab works. The next tab over features a college student friendly how-to guide to laundry specifically catered toward RIT students and laundry machines that takes them through different methods of laundry. Another tab allows user to start a timer that texts them automatically to notify them when their laundry is done. The last tab allows students to submit a work order when machines are broken.
Back End
The back end has 3 main stages, first the app written using swift/swiftUI gets the user’s phone number and sends that number to the express.js server. The server is hosted by a Node.js hosting service. In the express.js server the Twilio npm is used to be able to communicate with Twilio’s API services. From there Twilio sends the user a text message.
Challenges we ran into
Through the process of developing and coding the app, we realized that the original scope of our project was too big for the time we had. We ended up not being able to implement everything that we wanted, but we were still able to get the base functionality to work. Other challenges we ran into were learning and working with new languages and challenges along with downloading and using unfamiliar languages. While each member of our group has coded before, we haven’t tried to make an app like this, used APIs, or servers. So throughout this project we worked closely with mentors and online resources to put together all the pieces we needed to make our final product. Each time we learned about a new process, we had to break down the process to see what languages we needed for each step. Each of those steps required research and questions and took time away from being able to move the project forward. While we were able to get a lot of the framework done for our project, there were still many things we wanted to finish or add more too. These include polishing the GUI, adding more functionality to the availability tab and fleshing out more of the how to pages. Each of these pages has at least a proof of concept and is shown on the storyboard.
Accomplishments that we're proud of
Learning swift/swiftUI and all its accompanying software for the first time Making a functional iOS app Creating a timer from scratch in swift Learning how to use Twilio Learning how node.js works and being able to used different nodes and npms Being able to do certain functions in the Command Window (it makes me feel so fancy) Using GitHub for the first time Storyboarding
What we learned
Storyboarding What an API is and how it can be used. How different coding languages cab talk to each other through servers
What's next for RIT LAUNDRY
With more time given, we would be able to finish the application and create hardware that would help signal the app users on the availability of the machines. We were planning that the hardware be sensory vibration and the detection of an open door. If the machine stopped vibrating that means the laundry is complete. We also planned on telling the students to leave the door open when finished so that if the machine stopped vibrating and the door was open then that would signal the app a vacancy. We were also going to reach out to Facilities Management Services(FMS) and see if they could inform us when they have fixed a machine so that we would be able to notify the public on which machines are working and available.
Built With
- colorpicker
- express.js
- goodnotes
- medibang
- swift
- twilio
- xcode

Log in or sign up for Devpost to join the conversation.