This was the first time I got paid to build something for someone else. It stayed small in scope but covered a lot of ground.
Getting started
We met through an online freelance platform and agreed on a four milestone project. The goal was to build the foundations for a pet healthcare app. Over a few weeks the idea evolved several times and the technical plan moved with it.
We chose Firebase and Next.js to move quickly. The stack made it easy to adjust the model and flows as the product vision changed.
The initial architecture
The first version of the app was a Firebase-based web application with a simple structure:
- One user and one pet per account
- Document uploads for things like medical records
- A public emergency profile accessible through a link
On the backend side we used:
- Firebase Authentication for sign in
- Firestore for the data model
- Storage for uploads
- A few Cloud Functions to connect things
Later we added basic task handling and ICS export, plus a minimal family sharing concept based on invite links.
Iterating on the product
We went through several design rounds in Figma. At first the app leaned toward a broader pet platform. After looking at the competitive landscape and how big established players operate, it became clear that this would be too much for a first version.
We narrowed the focus to a lean owner centric tool. The backend model was simplified and some earlier ideas were dropped entirely, including everything around vet upload flows. What remained was a smaller but clearer feature set that felt technically realistic.
The abrupt ending
Once the scope was trimmed, we set up a revised contract for the new version of the MVP. Before implementation of this final scope really started, the project was discontinued and we decided to move on to a new idea.
What I learned
Even though the app never launched, it was a useful first paid project:
- Clear scope beats ambitious feature lists
- A simple Firebase plus Next.js stack is enough for fast MVP work
- Product direction can change quickly, so the architecture should be easy to adjust
It was a compact project, but it gave me a first real taste of client work and of shaping an MVP under changing requirements.