Challenge
Turkish veterinary clinics run on paper, spreadsheets, and WhatsApp. Replacing that isn't one app — it's two products for two audiences: clinic staff who need practice management, and pet owners who need their animal's records in their pocket.
Three constraints shaped everything: every clinic's data has to be isolated from day one, because retrofitting multi-tenancy is a rewrite; KVKK compliance isn't a checkbox when you're holding personal data and pet health records across clinics; and a two-person team can't afford a codebase that slows down as it grows.
Approach
Multi-tenancy and consent as domain primitives — not middleware
Clinic isolation and staff roles (admin, veterinarian, assistant, receptionist) are modelled in the domain itself. Pet-owner consent is a first-class record that gates cross-clinic data access and messaging — pairing happens by QR or 6-digit code. KVKK compliance is enforced by the data model rather than remembered by developers.
End-to-end type safety across three clients
tRPC v11 means the web admin and the mobile app share types directly with the backend. A schema change breaks the build — not production, and not a customer's Saturday.
Feature-first Clean Architecture
The backend is organised in vertical slices, so a feature lives in one place instead of being smeared across layers. This is what keeps a growing codebase navigable for a small team.
We extracted the design system and published it
Rather than accumulating one-off components, the mobile UI foundation was pulled out into Rott-UI — a versioned React Native design system published on npm. The product got consistency; the studio got a reusable asset.
Plan-first, AI-assisted engineering
Large features start as written plans, not tickets. The notification system — push, campaigns, audience segments — was specified in detail first, then shipped as a single reviewed feature. Combining that discipline with agentic AI tooling is how two people sustain the output of a larger team.
Results
- Live in production at vetasist.com — a five-app monorepo covering API, web admin, mobile, landing page, and documentation.
- Around 770 commits, roughly 489 of them within a single 90-day window — sustained delivery velocity for a two-person team.
- Rott-UI published on npm as a reusable byproduct, now available to every future project.
- Turkish end-to-end — product, interface, and its own documentation site.
Technologies Used
What's next
In developmente-Fatura and TARBİL integrations are in development — the compliance plumbing Turkish clinics ask about first.
Request early accessVerify it yourself
We would rather you checked than took our word for it. Everything below is public and live.
Have a project like this?
Tell us what you are building. We reply personally, within 24 hours.
Start a conversation