We are a team formed by four Lambda School students. We had recently finished the curriculum and we find ourselves in Lambda Labs, which is a period when we prepare for our interviews, pair program, solve code challenges, and also work on very cool projects.

What problem does Groomer Express solve?

Groomer Express brings pet owners and local groomers together. Groomers can offer their services, and pet owners can find local groomers, see their hours, services, and qualifications and choose to book an appointment.


  • Single Sign-On with Okta
  • Registration
  • Groomer’s Profile including a photo, a description, services, location and availability
  • Customer’s Profile including a photo and description
  • Pet’s Profile including a photo and a description section
  • Search for nearby groomers with Map Box API
  • Appointments booking via Calendly
  • Docker
  • AWS S3

Libraries and Frameworks


Brainstorming phase

The team had a meeting and established the features that we wanted our app to provide for it to be considered an MVP, and we also think about possible stretch goals.

From roadmap to tasks

Once we were on the same page. We have created a Trello board and started by creating a column for each type of user. Under each column we create a card for each user story. User stories are statements which describe the features from a user perspective. For example, a user story would be: “As a user, I want to register”.

Inside this card we can create a checklist and add all the tasks needed to get done in the back-end as well as in the front-end, so that the user can register, such as: create a database which will store the user data, a form, etc…

We can now create a WIP column and create cards for each task and assign them to ourselves, so that the team knows who is working on which feature. Trello was an integral part of the teamwork and allowed us to plan features, keep track of bugs, and the overall progress of the application.

My Contributions

I worked to synchronize the Groomer and Customer Dashboard with Andre. We both got on a Zoom meeting to discuss the possible dashboard features and tabs through Ant Design. While using Figma over the call we agreed that we wanted paw prints for the tabs and for the tabs to be on the left side of the dashboard; not the top.

From there the design needed to be coded. The GroomerTab function was placed within the Groomer function as shown.

From there the GroomerTab itself was coded to use the left mode state for the tabs. The paw print was taken from Ant Design and worked beautifully for each of the tabs: Overview, My Info, Payments, and Appointments. The info tab was created with useContext and a FormContext which displays all of the necessary info a groomer needs to display to their customers.

Here’s what the Overview looked like to the user:

And here’s what the My Info tab looked like to the user:

After I created the Groomer Dashboard I was tasked with finding and implementing an appointment calendar for the groomers. I wrote the code for a calendar that AirBnB uses and after some communication with other teammates we as a team decided on using Calendly instead of the AirBnB calendar. Calendly is widely used and for our project using it requires the groomers to have a Calendly account.

Before I knew it a real life emergency took place and my coding had to take a back seat for the time being. My team was ready and willing to continue with the project. They didn’t hesitate in rearranging tasks so that the implementation would meet the production guidelines. I owe a ton of credit to them for this. They were a joy to work with. Whatever the challenges I faced, my Labs group was there to help me through.

Thank you, team!

I really enjoyed working with you on this project. You all are great developers and would love to work with you in the future!

Team: Tim McDonald, Jess Bonanno, Andre Freeman, Nick Verdina.