Problem Background  

Dog owners struggle with managing their pet's care across multiple apps, leading to inefficiencies and missed responsibilities. They need a centralized solution to track records, schedule grooming, find services, and receive reminders. Our product addresses this demand by offering an integrated, user-friendly platform

With pet ownership on the rise, managing pet care has become increasingly complex and fragmented. The market is growing, and there is a strong demand for a streamlined digital solution. Addressing this now allows us to capitalize on market trends and improve the lives of pet owners.

Dog owners currently face the inconvenience of using multiple apps for pet care, leading to common pain points like missed appointments. The pet care industry is booming, and technology trends show a preference for integrated mobile solutions. Market research and user feedback confirm a significant gap in comprehensive dog care management

Solution

The solution for PawHub will provide a centralised platform that allows dog owners to manage their pet's information, schedule important events, track medical records, and find nearby dog-friendly locations. Upon signing up, users will be directed to create a detailed profile for their dog(s), which will serve as the core reference for scheduling tasks and storing healthcare data. A calendar feature will be implemented to help users manage and track events such as vet visits, grooming appointments, and playdates, with email or push notification reminders to keep them informed of upcoming tasks.

To further enhance the user experience, the app will integrate Google Maps API to offer a search function that allows users to discover nearby parks, vet clinics, and other dog-related services. Users will be able to view, upload, and update their dog’s medical records, with an optional feature for integrating API data from veterinary services. All functionalities will be available through a user-friendly interface with easy-to-navigate profiles and dashboards, ensuring dog owners can efficiently manage their pet's activities in one convenient app.

Lofi & Hifi Mockups

Brand Identity
UI Components

Iterative Design Learnings

After we showcased our prototype to the users again, we learned that the overall users expressed the cleaness, simplicity, and ease of use of this application. The CTA buttons were clear, the user and task flows are simple and straightforward. One user suggested adding more visuals and images to the interface as she stated “Simple is good, but not too plain”.

Technical implementation

Where is it hosted? What is your tech stack?
  • The backend tech stack I used for the project is centered around Python and Flask, a lightweight web framework that facilitates rapid development. To manage database interactions, I employed SQLAlchemy, a tool that allows for seamless communication with a MySQL database, while the actual data storage is handled by Azure SQL Database, providing scalability and high availability in a cloud environment. To secure the API, I implemented JSON Web Tokens (JWT) for user authentication, ensuring that sensitive endpoints are protected. This combination of technologies creates a robust and maintainable backend architecture.
High level journey of a request
  • Talk about why you chose the tools used and how you can improve the application's design.
  • The dog app is designed for dog owners to manage their pets' information securely, allowing users to sign up and log in using JWT authentication. Owners can create detailed profiles for their dogs, including essential information such as name, date of birth, breed, weight, medical records, and veterinary contact details. The app also features a comprehensive medical records system, where each record includes the service date, category, service type, follow-up date, fee, and an optional receipt image. Users can perform CRUD operations on both dog profiles and medical records, enabling them to create, retrieve, update, and delete information as needed. Additionally, the app includes a calendar for managing appointments and supports CRUD functionality for tasks and reminders sent to users' email addresses.

Technical challenges

What was the hardest part of development?

The hardest part of developing the backend for the dog app was implementing secure JWT authentication while ensuring a smooth user experience. This involved managing token generation, validation, and expiration, alongside accurate data validation and serialization with Marshmallow for dog profiles, medical records, and the calendar feature that includes events and tasks. Designing a robust database schema to link these components effectively was also challenging. Balancing security and usability, while thoroughly testing API endpoints for all functionalities, added to the complexity of the development process.

Learnings

Product Manager Learnings:

Saloni Agarwal

The past 8 weeks have been really fruitful working as a PM. I understood that it’s essential to have good communication with your designer and developers to launch a successful product. I also understood that it is very important to work on prioritising features effectively and stay within the scope to have a product ready within the required timeline.

Designer Learnings:

Alice Yang

This has been an amazing experience for me as I was able to work in an agile team alongside both developers and product managers. I’ve learned the importance of keeping clear communication and staying aligned, especially how to effectively prioritize features when working within tight deadlines.

Another learning is the collaboration has helped me to design solutions that only only address user needs but are also technically feasible and are aligned with business goals. By working closely together, we’re able to better align for a smoother handoff and ultimately deliver an impactful product that is only functional, usable, user friendly, and enhances the overall user experience. Most importantly, it solves a real user problem.

Designer Learnings:

Jo Sturdivant

  1. 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.
  2. 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.
  3. 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:

Iryna Piatnochka

Regular communication and alignment with product managers and other stakeholders is key for understanding requirements, avoiding misunderstandings, and making informed decisions.

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:

John Durand

&

Solutions that are both technically feasible and aligned with user needs and business goals are more likely to succeed. Collaboration helps ensure a balance between these considerations.

Developer Learnings:

Maurquise Williams

&

  1. 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.
  2. 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.
  3. 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

Frequent communication and clear documentation between development phases minimized friction and delays, leading to a more efficient development process.