Inspiration

Overconsumption is a rampant problem in our society. It is ridiculous to imagine that every household has a shed full of tools sitting there waiting to be used.

Why should every home have a lawnmower if it is only used every 2 weeks? Does every household need a shed full of tools that are only used in specific conditions? What if you could share that lawnmower or borrow it from a neighbour to use for one afternoon?

How many times have you been discouraged from attempting a project because the required tool is too expensive? Have you ever been frustrated by the heavy snowfall and wished you could use your neighbour's snow blower?

We want our app to build a community for sharing tools. Whether it be a lawnmower, sewing machine, nail gun, cricut or a waffle maker we want to make these tools accessible for all through a simple click.

Tools, after all, are not meant to be discarded or forgotten about after a single use!

What it does

Through our app, neighbours will be able to upload an image of their tool with a short description, signaling that it is available for lending. Other people using the app will be able to see the post and choose to borrow the item. A due date will let them know when they need to return the item. Lenders can choose to refuse to lend items and their confirmation is necessary for the borrower to be able to have access to their exact location. Once the item is returned, the lender must confirm on the app, which changes the tool's status back to available.

Our app is meant to create a network of sharing within neighbourhoods and encourage people to re-use tools, reduce waste, limit clutter, save money and work together.

How we built it

We used React on the frontend to build a fast, responsive UI and make the experience feel smooth. For the backend we chose Flask so we could iterate quickly and adapt as the idea evolved. The database is SQLite simple and lightweight, which fit our goal for a working prototype without extra complexity. Since this is a concept demo, we kept everything local (no cloud hosting), so anyone who wants to try it just needs to run it on their own machine. Building this made us appreciate how even small applications require a lot of thought and coordination to feel complete.

Challenges we ran into

We had a vision for this app that unfortunately was not able to happen. We attempted to incorporate various APIs and additional external tools to enhance our app. We also had never built an app before and it was our first time using Typescript and Node.js, which made debugging difficult.

The initial project scope was much too big for us to be able to accomplish this weekend. Unfortunately, we had to cut back on many features. Trying to incorporate various different APIs and external tools to our project is no easy task and produced many many errors and conflicts in our files. While we tried our best to solve the error with the use of AI tools, we were not satisfied with the result of our first prototype. We chose to pivot to a much more simplified version.

Accomplishments that we're proud of

We had a great time at ConUHacks X! We were able to learn new things and experiment using Typescript, Node.js, React and various different APIs. But ended up choosing a completely different tech stack xd!

What we learned

Through the attempted integration of MongoDB and Firebase, we learnt about .env files and their importance in keeping sensitive data (like API keys) private and off github.

We also were able to better understand the capabilities and limitations of AI tools, and how to use them efficiently, especially in such a time-restricted event.

For example, through the MLH workshop on github Copilot, we discovered Agent mode for AI, which allows it to help edit and modify your code. One of our teammates even learnt for the first time that the AI model could be switched within Copilot!

What's next for TimeShare

We would love to be able to implement all the features from our initial plan!

The next feature to add should be a map and location tracking that would help restrict listings by distance. You don’t want to accidentally borrow a tool from someone living 8 hours away!

Another detail that would improve quality of life would be implementing search and filter systems that could help find items more easily. We also had plans to use AI image recognition to help search through listings using product images found online or other images of tools.

The AI image recognition service would also be used for uploading tools for lending , rather than manually filling out the details. The AI could analyze the image and provide information about the tool, avoiding the hassle of filling everything in manually ( a useful feature especially for the older community).

As for security, we thought of adding a strike system for late returns as well as reporting misbehaviour or theft, which would lead to the banning of accounts.

Share this project:

Updates