Rate My Dog Park is a full-stack web application designed to help dog owners find, review, and rate local dog parks based on real user experiences. The platform acts as a community-driven resource that brings transparency to what’s often an overlooked aspect of pet guardianship - the quality and safety of public dog parks.
As a dog parent myself, I noticed a recurring pain point: finding a reliable dog park can feel like a guessing game. Online reviews are scattered, often outdated, and usually don’t tell you much beyond location. Is the park fenced? Is there water access? Are aggressive dogs a problem there? These are the details that matter to dog owners - and they’re rarely centralized in one place.
The idea for Rate My Dog Park came from wanting to solve that exact problem. I envisioned a space where the dog-owning community could share honest, useful feedback with each other. By giving users a place to rate parks and read trusted reviews, the platform empowers people to make informed decisions about where they take their dogs - and helps avoid bad experiences.
My Role & Approach
This was a solo project where I handled everything from ideation to deployment. I chose a full-stack JavaScript stack with Next.js for the frontend and Firebase for the backend. This allowed me to move quickly, while also implementing real-time features like live review updates and dynamic park pages.
One of the most important goals for me was creating a seamless user experience. I started by mapping out user journeys - from discovering the site for the first time, to searching for a park in a new neighborhood, to leaving a thoughtful review after a great (or not-so-great) visit. That UX thinking shaped the core flow of the application.
Building the Solution
The platform is built with Next.js, using Tailwind CSS for styling and layout. I integrated Firebase Authentication so users can log in seamlessly via Google. All user-generated content - from reviews to submitted parks - is stored in Firestore, which allows for real-time updates.
For geolocation, I implemented the Google Maps API, which lets users get directions directly from the webpage and (in a future update) filter by amenities like water stations, trails, and small dog areas.
To prevent spam and ensure quality content, I also added a moderation layer. Parks submitted by users don’t immediately go live - they enter a pending state in Firestore where an admin can approve or reject them. This simple feature mimics how real-world platforms maintain integrity.
Key Challenges
One of the more complex challenges was integrating Google Maps in a way that felt intuitive and lightweight. I didn’t want the map to overwhelm the experience, but I wanted it to be central to how people discover parks. I built a basic search system using location-based queries and used Firestore’s structured data to return relevant results efficiently.
Another challenge was managing asynchronous data updates. Reviews and new parks are constantly being added, and I wanted those changes to be reflected without requiring a page refresh. Firestore’s real-time listeners helped me achieve that, but it required careful structuring of the component logic to avoid memory leaks and rerenders.
Lastly, I had to think through how to handle user content safely and responsibly. Features like the ability to delete your own review were important to building trust and maintaining community standards.
The Impact
While this project started as a portfolio piece, it’s something I believe could be genuinely useful to real dog parents. The MVP is now live and functional, and early testers have mentioned how clean and intuitive the experience feels - especially compared to searching through scattered Google reviews or Facebook threads.
From a development standpoint, this project helped me level up my skills in:
- Building CRUD operations across multiple data types (users, reviews, parks)
- Managing real-time data and authentication flows
- Designing with accessibility and simplicity in mind
What’s Next
This was the first time I built a full product end-to-end that included user authentication, a structured database, and API integrations - and I learned a ton. If I were to continue developing it, I’d love to:
- Allow users to search parks by location from map
← Home
Rate My Dog Park
2025 - PRESENT
Design & Development
www.ratemydogpark.com
Rate My Dog Park is a full-stack web application designed to help dog owners find, review, and rate local dog parks based on real user experiences. The platform acts as a community-driven resource that brings transparency to what’s often an overlooked aspect of pet guardianship - the quality and safety of public dog parks.
Understanding the Problem
As a dog parent myself, I noticed a recurring pain point: finding a reliable dog park can feel like a guessing game. Online reviews are scattered, often outdated, and usually don’t tell you much beyond location. Is the park fenced? Is there water access? Are aggressive dogs a problem there? These are the details that matter to dog owners - and they’re rarely centralized in one place.
The idea for Rate My Dog Park came from wanting to solve that exact problem. I envisioned a space where the dog-owning community could share honest, useful feedback with each other. By giving users a place to rate parks and read trusted reviews, the platform empowers people to make informed decisions about where they take their dogs - and helps avoid bad experiences.
My Role & Approach
This was a solo project where I handled everything from ideation to deployment. I chose a full-stack JavaScript stack with Next.js for the frontend and Firebase for the backend. This allowed me to move quickly, while also implementing real-time features like live review updates and dynamic park pages.
One of the most important goals for me was creating a seamless user experience. I started by mapping out user journeys - from discovering the site for the first time, to searching for a park in a new neighborhood, to leaving a thoughtful review after a great (or not-so-great) visit. That UX thinking shaped the core flow of the application.
Building the Solution
The platform is built with Next.js, using Tailwind CSS for styling and layout. I integrated Firebase Authentication so users can log in seamlessly via Google. All user-generated content - from reviews to submitted parks - is stored in Firestore, which allows for real-time updates.
For geolocation, I implemented the Google Maps API, which lets users get directions directly from the webpage and (in a future update) filter by amenities like water stations, trails, and small dog areas.
To prevent spam and ensure quality content, I also added a moderation layer. Parks submitted by users don’t immediately go live - they enter a pending state in Firestore where an admin can approve or reject them. This simple feature mimics how real-world platforms maintain integrity.
Key Challenges
One of the more complex challenges was integrating Google Maps in a way that felt intuitive and lightweight. I didn’t want the map to overwhelm the experience, but I wanted it to be central to how people discover parks. I built a basic search system using location-based queries and used Firestore’s structured data to return relevant results efficiently.
Another challenge was managing asynchronous data updates. Reviews and new parks are constantly being added, and I wanted those changes to be reflected without requiring a page refresh. Firestore’s real-time listeners helped me achieve that, but it required careful structuring of the component logic to avoid memory leaks and rerenders.
Lastly, I had to think through how to handle user content safely and responsibly. Features like the ability to delete your own review were important to building trust and maintaining community standards.
The Impact
While this project started as a portfolio piece, it’s something I believe could be genuinely useful to real dog parents. The MVP is now live and functional, and early testers have mentioned how clean and intuitive the experience feels - especially compared to searching through scattered Google reviews or Facebook threads.
From a development standpoint, this project helped me level up my skills in:
What’s Next
This was the first time I built a full product end-to-end that included user authentication, a structured database, and API integrations - and I learned a ton. If I were to continue developing it, I’d love to: