Drive Cleaner

Inspiration

Living near San Francisco gives us a small glimpse into the everyday lives of people who live in cities. In San Francisco, space is very limited and most people don't have any space for large washing and drying machines in their apartments. So for most families, the Laundromat is the answer. For most children, going to the Laundromat was considered a mundane chore and for independent adults now, a necessary evil. It's a waste of time, as you have to wait over an hour (sometimes more) to get your clothes cleaned. Laundromats also don't allow users to fulfill their various laundry preferences. So after seeing this problem firsthand, we started thinking about how it could easily be streamlined by connecting people who have laundry machines, to the ones that don't via an app.

What it does

Drive Cleaners is an iOS app that provides a platform for laundry machine owners to offer their services to their users. If you own a laundry machine, you can make a profile consisting of necessary information like name, email, and home address, as well as capabilities and preferences like soap choice, price, will they fold the clothes, can they hang dry the clothes, will they pick up and/or deliver the clothes and their estimated turnaround time. Users can see these listings on their dashboard and select based on pricing, proximity, and other factors.

How we built it

Coming into this Hackathon, we both had some experience working with Swift, Apple's own language for developing iOS apps, so we knew that we would have to use XCode, Apple's proprietary app development IDE, to create our project. We used Firebase, a cloud server created by Google, to make a full authentication system so that various users can be differentiated. After completing the authentication system, we moved on to the design of the provider listings. To do this, we made an object that stored the different parameters each house would have to contain, like home address and name. This object's information was then passed into Firestore, Firebase's cloud server for user data, and stored until it was read on the dashboard. The dashboard contains multiple listings of different providers. Clicking on them gives the user the specifics of the home and the option to order. We achieved this by reading the data from Firestore and presenting it in multiple views. Because every listing is saved to the cloud, every device/user will see every listing. The UI was all done using SwiftUI with the use of a lot of gradients. The design of the logo was done in Adobe Photoshop and the demo video was edited in Adobe Premiere Pro.

Challenges we ran into

One of our biggest challenges was reading data from Firestore. Writing the data is relatively simple as all the data that needs to be passed through is provided by the user in a form. Reading is another story as each individual piece of information is stored together in a document on Firestore, but it is not put together in an object that can be easily displayed. So the code takes "snapshots" which are the state of the data from the server at that exact moment in time. So then the data has to be mapped into a certain object and appended to a global array so that it can be displayed in the dashboard to all other users. Another challenge we faced was working together on the project. Working together on Google Docs to do a school assignment and coding collaboratively are two completely different dimensions because of the constant writing over someone else's code or forgetting to commit the essential code one of us had written. Collaboration was key and by the end of the hackathon, we had nailed this by telling each other which files one person writes on, copy and pasting code from one computer to another, and taking breaks so we don't burn out.

Accomplishments that we're proud of

As we mentioned before, we were both quite new to collaborating on coding projects, so we were satisfied with how we worked together. Implementing Firestore was also quite a challenge, so when we finally succeeded, we were very proud of what we had done. Both of us had also never coded an app with a layout like this, so we're happy with what we created for our first app of this type. We're also proud of the UI, which turned out substantially better than any UIs either of us had created in the past. Lastly, we're both relatively new to Hackathons so we're proud of our final product.

What we learned

Through this project and Hackathon, we both grew as coders and gained major skills to utilize in the future. We learned how to use Firestore, which will be very useful as we create more apps that store user data in the cloud. Our UI design skills also improved significantly over the course of the Hackathon. This was one of our first times collaborating with someone else on a coding project, so we developed our teamwork skills as well.

What's next for Drive Cleaners

We both have a multitude of future plans for our project. The most ambitious of these is to publish it to the App Store and form a business out of it, but before we do that, there are many improvements to be made. Some of these future changes include a better UI, the ability to edit listings (if you created them), and various things to make sure Drive Cleaners is safe and clean, such as a review system, a ToS that both customers and providers would be required to follow, and perhaps a messaging system for providers and consumers to connect with.

Built With

Share this project:

Updates