LendA
LendA is a web platform connecting lenders to borrowers in communities by providing a seamless experience
Product Experience
Problem Space
Have you ever wanted to borrow something for a certain time instead of buying it? Or wanted to lend something out that's just sitting unused and make money from it? LendA provides a centralized place to go when you need to borrow items or equipment from local community members. Our platform also gives a chance to connect neighbors and the community by fostering a relationship of community members lending items to members that need them in a seamless transaction.
Problem statement
How might we make the experience of borrowing necessary tools and equipment convenient for local communities so that borrowers and lenders both have a seamless transaction?
Problem Background
Communities and neighborhoods by nature are meant to be closely knit groups that you can count on but most of the time, there is still a disconnect.
There are stores like Home Depot that rent out power tools for example, but this may not be feasible to some as the store may be too far out of range or not have the specific item they are looking for. You might need a specific tool for a home project only to buy it and then have it sit in the tool box for years untouched.
While conducting our own research with 5+ users, we found that users have spontaneous needs such as ring lights, or portable AC units that may not be readily available to rent in a store and not a big enough reason to purchase to own long term. Some tasks require something very short term and nearby which is not always possible with stores having limited hours and varying distance. All 5+ of our users we interviewed mentioned if the item they were needing was not going to be needed long term, there was no desire to purchase and instead just needed on a one off situational basis.
- According to NPR, “The average size of the American home has nearly tripled in size over the past 50 years.”
- Even though sizes are increasing, according to New York Times, “1 out of 10 Americans rent offsite storage.”
While homes are getting bigger, space for items is not keeping up to standard and requiring more and more people to rent storage space. The problem that exists is there is no centralized place to go to borrow and lend items/tools to closeby community members. There also is an issue of not knowing what is available out there and what tools/equipment might be nearby.
Research Insights
User Pain Points: By conducting user interviews we spoke to 5 users on their past borrowing and lending experiences. We found that our users had similar pain points of not being able to easily find the item they need fast and on the flip side, not having the trust of lending items that they own. The items we found out that users borrowed came from projects that were short term and urgent such as a user who needed a tool to fix the sink. Instead of buying a new one and spending money on an expensive tool they might not need long term they just borrowed it from a family member. Users also did not have the trust they needed when lending out their products even if they personally knew the person.
User Persona
Meet Abigale a busy young professional always on the go and busy. As someone who’s busy and on the go she has items she needs whether it be a bike bump or table, but doesn't have the space in her apartment and nor the need to buy it long term. She represents an ideal user of LendA as someone who takes on different projects herself and is always on the go. She can use the platform to expand her existing network and have more people to borrow from for her needs.
Landing on the Solution
Explanation of the Solution
After talking to users we analyzed our target users' main pain points and strategize to work on the following features and prioritize them for our MVP:
- Categories: As a user, I want to have different groups of products to sort through in a organized way so that I don't spend too much time going through products that are not relevant to me
- Location: As a user, I want to be able to search within a certain proximity for equipment/tools so that I am able to find items that are most convenient to me
- Review System: As a user, I want to be able to see reviews from past borrowers and how their experience was so that I can be a conscious buyer when deciding which lender to give my money to
- Posting Items: As a user, I want to be able to post my items with the price and short description seamlessly so that borrowers know what to expect
- User Scheduling: As a user, I want to be able to see a schedule of when item is available such as days and times so that I can plan accordingly
With our platform we sought out to dive deep into our user interviews more and instill trust into both borrowers and lenders by adding user profiles for lenders and borrowers. We also added descriptions for products to ensure the right item is found for borrowers that properly meets their needs. For expensive items, we discovered through our user interviews that lenders are more hesitant to lend out expensive items due to fear of damage. Because of this we’ve given the power to lenders to decide if they want to require a deposit of their choosing to make them feel reassured when lending items.
Below is the user journey of both borrowers and lenders and the emotions they feel when lending and borrowing items:
User Journey
User Flow
LoFi and HiFi Mockups
LoFi Mockup
Hi Fi Mockup
Home Page:
Search Results:
Item Page:
Account Login Page:
Iterative Design Learnings
After we showcased our prototype to the users again, we learned and re-implemented
- The journey was not so intuitive for lenders, and we needed to simplify it for both lenders and borrowers.
- Some of the wording within the web app was confusing and unclear
- We needed to clarify details of posting (ie. what input fields needed to be mandatory)
Implementation Details
Technical implementation
LendA was built using a MERN Stack (MongoDB, Express, ReactJS and NodeJS – as well as React-Redux/Redux Toolkit), hosted on Heroku, and with the utilization of an AWS S3 Bucket for our file storage.
High level journey of a request:
A user wants to utilize the LendA web app to offer up their battery operated weed eater for their neighbors to borrow:
- User submits filled out form
- React client sends a POST request to the server via a redux thunk
- Server checks to see if the user is logged in via JWT token
- Server saves the image into the S3 bucket
- Server saves the item data into the mongoDB database
- The server sends back a json object of the data.
- The redux thunk is resolved and the item data is inserted into the redux store
- React then reads the store and displays the newly created item
Technical challenges
What was the hardest part of development?:
- One of the hardest parts of development was trying to readjust every piece of our code when we updated the item data model.
- Another issue that held the development back was the issue of dockerizing and deploying the application.
Does your app have any scaling issues?
- Currently the application is running on a free dyno from heroku, once we reach a high traffic number we will have to get more ram and cpu power.
What are some key takeaways?
- Simplicity over additional features
- Planning code beforehand creates a smooth development
- Use monorepos for fullstack applications
- Make sure every team member is using the same node version
Future Steps
We believe for our project it would be a great idea to become mobile friendly and develop a mobile app alongside our web app. We also want to track KPI’s and get feedback from users to continue iterating.
Some of the several metrics we want to track post-launch of LendA:
- Website visits and what time/day attracts most impressions
- Time spent on page (where are users spending most time?)
- Returning users vs one time users (Retention and churn rates)
- Time it takes users to get on LendA to find the item they need (How easy is the flow for users and is it effienct?)
- Overall Satisfaction with lenders and borrowers (Is the platform helpful?)
Learnings
Product Manager Learnings:
Nirmal Patel
- Work with the team to properly prioritize backlog based on user requirements and time available to build so that we have features that bring the most value to the end users
- Applied agile theories and tools like trello to manage sprints, and collaboration tools such as discord, google drive, google meet to align the entire team. Learning and getting to use new tools like Trello and Figma was beneficial.
- How to properly adjust scope with arising constraints and better skills working with Devs and designers to learn how I can best support them as a PM
Designer Learnings:
Jenny Lee
- First time navigating service design with a team. The user experience gets tricky when it involves multiple users plus in-person and digital user experiences.
- Design will always fall to tradeoffs. It's critical to have our priorities in line so we can re-route and descope quickly when we run into obstacles.
- My role as a designer is not only extracting user insights and bridging that with the business, but it's also to make the developer's job easier through other UX deliverables.
Designer Learnings:
Jo Sturdivant
- Adapting to an Established Team: Joining the team in week 6 of 8 was challenging, as I had to quickly adapt to existing workflows, dynamics, and goals. This mirrors real-world situations where you often integrate into teams mid-project, and flexibility is essential.
- Work-Blocking for Efficiency: With only two weeks to complete the project, I learned the importance of a structured work-blocking system. This approach allowed me to manage my time effectively and meet deadlines under pressure.
- Making Data-Driven Design Decisions: Unlike my past projects, I had to rely on research conducted by others. This was a valuable experience in using pre-existing data to guide design decisions, helping me focus on the core insights without starting from scratch.
Developer Learnings:
Xila Luna
- Organization of the repo, code, and commits are extremely important when working within a team of developers.
- It is important to communicate the realistic time scale of the development of a feature and its level of difficulty implementing it.
- Reading documentation and looking for examples is beneficial, but if ever stuck never be fearful of asking for help.
Developer Learnings:
Vanady Beard
&
As the back-end developer, I learned how important it is to create efficient and reliable systems that support the entire application. This experience also taught me the importance of optimising the database and ensuring the backend is scalable and easy to maintain.
Developer Learnings:
Stephen Asiedu
&
As a back-end developer, I've come to understand the importance of being familiar with various database systems and modules. This knowledge enables me to build diverse applications and maintain versatility in my work. I've also learned that the responsibility for making the right choices rests on my shoulders, guided by my best judgement.
Developer Learnings:
Mallory Daniel
&
- Over-committing is a thing! It’s good to be ambitious, but always, always, always plan for things to go wrong… because they will.
- Communication is everything, especially if you’re working with another developer. Oftentimes they can catch simple things that are easily overlooked when you’re deep in your own code.
- Keep it simple for the MVP. It’s way easier to build off of something that is simple and functioning, than to incorporate a bunch of features in the beginning.
Developer Learnings:
Maurquise Williams
&
- Process of Creating an MVP: Developing a Minimum Viable Product (MVP) taught me how to focus on delivering core functionalities balancing between essential features and avoiding scope creep.
- Collaboration in a Real-World Tech Setting: This experience taught me how to collaborate efficiently in a fast-paced tech environment, keeping the team aligned and productive, even while working remotely across time zones.
- Sharpening Critical Thinking and Problem-Solving Skills: This experience honed my ability to think critically and solve problems efficiently. By tackling challenges and finding quick solutions, I sharpened my decision-making and troubleshooting skills in a dynamic, real-world setting.
Developer Learnings:
Jeremiah Williams
&
All in all this experience was very awesome I learned that in coding with others being transparent is key
Developers Learnings:
Justin Farley
&
I learned how important communication is when working with a team. Communication provides understanding, advice, ideas, and much more. While working with the product team, I’ve found that communication keeps everything flowing smoothly. Working with a team also showed me that every member brings something different to the table and we all have to work together in order to align and meet our end goal.
Full Team Learning
- Having continuous communication is important in keeping the team aligned on what we were building each sprint cycle and why we were building it
- Be agile and flexible when working with teammates especially in different time zones
- Getting to know each other personalities and learning each persons working style early on creates a strong base for working together
- Be open to others opinions/ideas with open arms then discuss as a team and continue without wasting too much time on deciding