We were inspired by the business model of Uber, AirBNB, TOOLTRIBE, Angies List and Offer Up. Some members of the team have rented power tools from rental yards and found it very expensive and inconvenient.
What it does
We thought that a solution to this problem would be a rental application in the style of AirBNB or Uber. The application allows people who own power tools to rent them out to other people in their area. Power tool owners can sign up for an account and post tools on OnlyTrades.online. This application contributed to social good because it allows power tool owners to maximize the value of their assets. People who want to complete home projects will have cheaper, more convenient access to tools.
How I built it
We used Firebase for our backend. We used Firebase authentication for our user login/logout function, Cloud Firestore to store the user and the user data. We also use Firebase Storage to store images for all of the user’s posts.
We used Tensorflowjs to help facilitate user posts. When someone wants to upload a tool for rent they can take a picture of the tool and the application will automatically recognize it. We trained a machine learning model using Teachable Machines. We choose 6 categories of the most commonly rented power tools: heavy duty jack, chainsaw, drill, welder, circular saw and sander. Once the model was trained it was loaded into the front end of the application. The model is loaded when the user visits the view to upload a post. As soon as they upload a picture a button pops up giving them the option to autocomplete the category post. The type of tool will only be autofilled if the model is more than 90% confident of the classification.
We use React as our frontend library of choice. Used CapacitorJS in order to take our web based project into a WebView for a Native mobile app experience.
Using TailwindCSS allowed us to style our project without the need to write styles for iOS and Android, using a single style based made building super rapid and even dark mode!
Challenges I ran into
Using Firebase is very nice because it has everything built in but coming from a relational database, querying data was a little difficult.
NOTCHES! What a PIA! Apple introduced a concept of environment variables for CSS styles in order to determine padding/margins for the notices in the iPhone X. Android, does not offer the same thing for its web view so I had to write a custom plugin in Android via Capacitor. It was a great learning experience for sure, a new tool in my toolset for sure.
Accomplishments that I'm proud of
Everyone in our team had many challenges but we were able to get 90% of our original idea finished in our application. The UI/UX design came out to be really nice and we were very happy to have DarkTheme in our application.
NOTCHES! It’s really nice seeing our app take full advantage of the screen real-estate and not compromise on the experience of having a notch.
What I learned
I learned that time management is key and that everyone should work well together in a fast paced environment.
Don’t implement Dark Mode so late in the development phase! I should have styles the dark mode version at the same time in order to save time towards the end having to go back to every file and implement it. Unfortunately we ran out of time and not all of the pages have dark mode theming :(.
What's next for OnlyTrades
We also want contractors to be able to post their services in the style of Angie’s List. Part of the genius behind our idea is that we will advertise contractors whose jobs relate to the tools being rented. An example is that someone who is renting a chainsaw will see an advertisement for tree trimmers. This functionality has not been implemented yet. We also would like to make the image recognition more robust. We would like this feature to recognize more specific types of tools, and a broader range of tools.