As students, we are often tasked with creating a schedule that is tightly packed with errands, course work, and any number of daily tasks. This typically leads to high levels of stress, sacrificing sleep, and a limited priority-based completion of our todo list. All of this is only compounded with the challenges of working from home, which limit collaborative work and outreach. These problems gave us the inspiration for Errander, a platform where users can crowdsource their errands so that they have more time to do things that they otherwise need to. This platform allows students to get help on tasks they need, anywhere from grocery shopping to university study help. The overall intent is to improve students work life balance and even earn extra money during these tough times.
What it does
Simply put, Errander is a platform that allows people to crowdsource their errands and tasks to have other people do it for them. You have the option of being both a poster and/or an Errander. As a poster, you will post different errands or requests and provide a bounty for them. (A higher bounty incentivizes Erranders to accept your post more quickly.) You will then have an opportunity to choose who will complete your errands and receive live updates on the Errander's progress in copmpleting your task. A dedicated chat service is connected to each posted errand allowing straight-forward communication between poster and Errander. As an Errander, you will accept Errands you are interested in and have the skills to complete. Detailed information of the task can be viewed including directions to the specified address (if provided). Once the task is completed, you will receive the bounty specified by the poster.
How we built it
We built this web application using a React front-end running on an Express server back-end. To create the internal services we implemented websockets for the chat feature to provide real-time messaging and used mapbox to show Erranders the route to their selected errands. For our persistent data storage, we used a mongodb database which is queried from the server side and offered through API calls to the front-end. The database keeps track of users (signup/profile info), errands (including info, state, associated users, tags etc.), messages and reviews.
Challenges we ran into
One of the challenges we ran into was over scoping our project and implementing too many features in this short amount of time. However because of our teams strong technical ability and determination to succeeded, we were still able to implement everything we wanted to and fix any roadblocks that we encountered. We also had difficulty designing an intuitive user workflow and UX, taking into consideration who would be using this app, what might be difficult to understand about the UI, and purposeful event ordering.
Another challenge was simply again the time constraint and really pressuring us to finish features in extremely short amounts of time while maintaining high standards. Using a strongly regimented workflow, with thoughful branching, backlog task assignment and prioritization, and consistent communication we were able to uphold these high standards we strived for to a high degree.
Accomplishments that we're proud of
We are extremely proud of what were able to make in such a short amount of time as our initial goal was fulfilled in creating a full stack webapp that shows off implements virtually all of our planned features. We are proud of the way we worked together to tackle difficult roadblocks and the way we managed our time. All the amazing features especially the map, messaging service and user role management are some of the features we are particularly proud of.
What we learned
We learned a lot of new design strategies, different frameworks and libraries, as well as API tools like mapbox. We also improved our ability to work as a team; collectively ensuring that our high standards were met.
What's next for Errander
Errander is really something we want to continue working on for the future as we believe it has massive potential (far more nuanced functionality which we discussed while planning). We also all look forward to working together again in the near feature if the opportunity arisses!