AGENCY
ZGRZ Agency

Pet-sitter marketplace for France

A two-sided platform where pet owners find vetted sitters and arrange care end-to-end — and that started generating stable revenue in its first month after launch.

 

MVP development
B2C
Directus CMS
Marketplace
Booking Platform
Online Booking
PetTech
Role-Based Access
Back-Office Development

About the Project

A two-sided platform that connects pet owners — who need care quickly and safely — with sitters offering boarding, in-home care, walking, feeding, overnight stays, or full-service care formats. Trust and quality are built in through standardized profiles, completion rules, moderation, and transparent statuses. The business scales through repeat bookings, controlled operations, and monetization on transactions and add-on services.

 

About Customer

Lara owns a schnauzer kennel in Poland. She travels often, so finding reliable temporary care for her own dogs has always been a real problem. That's where the idea came from — a service that connects pet owners with sitters. Lara spent about a year detailing the functionality of the future platform before bringing it to us.

 

Complex combinations

 

The platform had to cover dozens of animal types — including birds and reptiles — each with different care requirements, risk profiles, equipment needs, restrictions, safety rules, and eligibility criteria. The data model had to absorb every plausible combination.

 

Profile data

 

Sitter profiles carry a lot of operational data: availability, travel and hosting zones, animal-count limits, living conditions, experience, and restrictions. We had to build in validations, minimum requirements, and dependency checks.

 

Availability

A sitter could be free in general but not on the dates needed, refuse certain animals, or limit the format of care. The platform needed an availability engine that handles slots, exceptions, minimum and maximum durations, buffers between bookings, time zones, and partial occupancy — and keeps that logic synced with search and price requests, so the system never surfaces sitters who aren't actually available.

 

Matching and ranking

 

With this many variables, classic filters fall apart. We needed a ranking model that distinguishes must-have requirements from nice-to-have preferences.

 

Price-request flow

 

Pricing across animals and care formats requires a lot of input. That meant a conditional questionnaire that captures enough data to produce an honest offer.

 

Pricing model

 

In real life, price depends on the animal, the number of pets, duration, season, location, and other factors. The product needed a model where sitters set ranges, rules, and surcharges, and the platform composes the final offer correctly.

 

Chat as a transactional module

 

Chat had to be tied to a specific request, with statuses, reply templates, attachments, reports, restricted contact-data exposure before a certain step, audit logs, and rate limiting.

 

Anti-fraud and protection

 

If owners and sitters move conversations to outside messengers, the platform loses the transaction. Technical safeguards were needed to discourage that.

 

Transactional flow

 

A clean booking → payment → commission → payout model had to be designed from day one.

 

Content moderation

 

A full moderation workflow was needed — queues, statuses, decision reasons — so support could work comfortably and the process was repeatable.

 

Architectural separation

 

Managed data, reference dictionaries, roles, and product logic had to be split cleanly across the API layer.

 

Search performance

 

Search that combines location, availability, dozens of filters, and ranking is computationally heavy. The service had to stay fast under that load.

 

Legally sensitive ground

 

The platform handles personal data. That brought technical requirements around data minimization, access control, audit logs, deletion and export flows, and retention policies.

 

Proposed Solution

We built the platform around Directus as the managed back office and source of truth for the data structure — sitter profiles, dictionaries, service parameters, moderation statuses, publishing rules, admin screens. A Node.js API acts as the product core handling critical business logic. The React and Next.js web client delivers a fast interface for both owners and sitters through a single API, with all business rules handled server-side rather than in the browser. On top of that, we integrated an AI assistance layer operating on platform data.

 

Directus as the platform core

 

We designed the entities and dictionaries — animals, care types, requirements, restrictions, zones, rules, statuses — along with the role model: owner, sitter, moderator, admin. We also built the support back office: moderation queue, complaint review, quick edits, blocking and hiding, action log. This lets the client evolve the product on their own, without rebuilding it every time.

 

Business logic in the Node.js API

 

We built a dedicated service responsible for baseline matching, availability, questionnaire rules, offer composition, dialogue statuses, anti-fraud signals, and audit. This keeps Directus from being overloaded and gives us a stable core that could be scaled and optimized independently.

 

Sitter profile model

 

The profile covers animal types (including exotics), care formats, conditions, limits (count, size, behavioral), pricing and add-ons, zones, availability, experience, and verifications. We saw the need for dependency validation and a profile-readiness indicator.

 

Transactional flow

 

When an owner books care, payment is held by the system. Once the service is confirmed, funds are captured, the platform commission deducted automatically, and the payout released to the sitter's account. In cancellation cases, refunds follow the platform's rules.

 

Availability engine

 

We implemented an availability model with exceptions, slots, buffers, simultaneous-care limits, and conditional restrictions by animal type or care format. This lets search return only genuinely available sitters and cut down on broken arrangements.

 

Geo-based search

 

Owners need to immediately understand which sitters are close and what the logistics look like. We implemented two synchronized search modes: a list view giving parameter-by-parameter comparison on cards, and a map view giving spatial context. Both modes share the same filters, radius, and availability logic.

 

Ranking with must-have vs. nice-to-have

 

We implemented ranking where critical requirements act as hard cutoffs, while everything else influences position in the list. We also built zero-result guidance (suggesting which constraint to relax) and comparison-friendly result cards, so owners could decide without opening dozens of profiles.

 

Price-request logic

 

We built a structured, adaptive request flow — the question set adapting to the animal and care format (medications, behavior, equipment, routine, experience requirements). The output is a standardized data package ready for offer generation.

 

Offers and chat

 

Messages, files, and statuses live inside a specific request with full history and event tracking. That preserves context, enables repeat bookings in one click, and leaves a clean path to future payments and bookings without rebuilding the foundation.

 

Bypass protection

 

We implemented contact-data detection, suspicious-activity limits, risk signals (mass identical messages, spam patterns), controlled sanctions (warning, restriction, ban), and rules that only expose contact details at the right step. This protects both the monetization model and community quality.

 

Moderation workflow

 

We implemented statuses, queues, decision reasons, reply templates, moderator audit logs, and SLA rules for incident handling.

 

AI layer

 

We integrated AI working on top of platform data to help owners reach the most relevant sitters faster. It analyzes a combination of signals from each sitter's profile — description, sitting history, animal types, exotic-pet experience, living conditions, limits, availability discipline, communication style, reputation markers — and uses them to surface relevant candidates in search.

 

We started by collecting the typical situations in which pet owners look for a sitter — urgent travel, illness, plans changing, last-minute needs. Separately, we documented the standard reasons arrangements fall apart in this market: long message threads, sitters disappearing, no clear rules, no real basis for trust. We also analyzed sitter motivation and behavior: what they consider a fair request, why they decline, how they price, and which conditions are non-negotiable. The output was a clear target — a managed process with built-in trust, quality, and safety checkpoints.

 

Directus CMS
PostgreSQL
Node.js
Elasticsearch

+2 Resource

Results

The MVP launched and started generating revenue for the client in its first week.

 

≤ 14 days

to the first booking requests

5–15 minutes

to first contact between owner and sitter

~400 payments

processed on the platform before the investment stage

Up to 77% of bookings

kept on-platform without moving to outside messengers

Below 0.5% disputes

across all platform transactions

Get in Touch

Or send us a message and we'll get back to you within 15 minutes during business hours

Enter your name

Enter your email

Enter your message

Andrii Trubai

Andrii Trubai

CEO | Head of WebDev department

More Success Stories