TK

Sit My Pet – Pet Sitting Application

Date

Jan 2026 - March 2026

Service

Mobile Development

Client

Personal Project

Stack

TypeScriptJavaScriptPythonNode.jsNestJSPostgreSQLPrismaReact/ React Native
Sit My Pet – Pet Sitting Application

Introduction

SitMyPet is a mobile platform built to connect pet owners with trusted, verified pet sitters in their community. The application focuses on safety, simplicity, and reliability, allowing pet owners to confidently request care while enabling sitters to discover meaningful opportunities.

The system is powered by a robust backend built with NestJS, TypeScript, Prisma, and PostgreSQL, with infrastructure hosted on Neon and media storage handled via Cloudflare R2. The frontend is developed in React Native, delivering a smooth, native experience across devices.

SitMyPet provides a seamless flow from account creation to booking management, with strong authentication, verification, and real-world safety considerations built directly into the platform.

Core Features

Secure Authentication & User Accounts

SitMyPet uses JWT access and refresh tokens, OTP-based email verification, and secure password handling to ensure user accounts are protected. Sessions persist securely, while refresh tokens maintain a smooth login experience without compromising security.

OTP Email Verification & Password Reset

Both account verification and password recovery are handled through OTP-based flows, adding an extra layer of security. Email delivery is powered by Resend, ensuring reliable transactional email communication.

Pet Sitting Requests & Applications
Pet owners can post detailed service requests including service type, schedule, location, and pricing. Verified pet sitters browse available requests and apply directly, creating a clean and intuitive job-application workflow.
Identity Verification with OCR

To improve trust and platform safety, SitMyPet integrates Tesseract OCR for ID verification, allowing automated identity checks during user onboarding.

Bookings & Job Management

Once accepted, applications convert into bookings that both parties can track. Sitters and owners can view upcoming jobs, manage schedules, and follow booking status updates.

Contact & Communication System

Users can reach out through in-app contact forms, with all messages handled securely through the email service layer.

Technical Architecture

SitMyPet follows a clean, modular backend architecture with clear separation of concerns across:

  • Controllers

  • Services

  • Modules

  • Guards & middleware

  • Database layer

This structure improves scalability, readability, and long-term maintainability.

The backend is built with NestJS, TypeScript, Prisma ORM, and PostgreSQL, while cloud infrastructure leverages Neon and Cloudflare R2. Email services are handled through Resend, and OCR processing is powered by Tesseract.

Database Design

The relational database schema includes structured models for:

  • users

  • profiles

  • services

  • posts (job requests)

  • applications

  • bookings

  • refresh tokens

Prisma ensures type safety across the entire backend and enforces consistent data integrity between services.

UI and User Experience

The frontend experience is built using React Native, delivering a responsive and native feel on mobile devices. Special attention was given to polish and visual quality, including Liquid Glass effects on iOS for a modern, platform-native look.

I also contributed to the initial Figma designs, defining the app’s visual identity, layout structure, and user flows to guide frontend development and maintain consistency across the product.

Collaboration

I handled the backend development, system design, database architecture, authentication, verification flows, and infrastructure integrations.

The frontend was fully developed by my partner Ramy Khachab, who implemented the mobile interface and animations using React Native.

SitMyPet represents a full-stack collaboration that mirrors real-world product development, combining engineering discipline, security-first design, and user-centered experience.