Lab Project

Scrlpets

A full-stack social marketplace for animal breeders. Built in-house at SDS. Live in pre-beta.

Live in pre-betaArchitect · Automator

01 — What it is

Scrlpets is what you'd get if Instagram, Shopify, and a professional breeder management tool were built as a single product instead of duct-taped together from five different subscriptions.

It's a social feed where breeders post their animals, a marketplace where verified buyers can inquire and purchase, a DM system with real-time chat, a trust layer that surfaces credibility signals, a dashboard where breeders run the operational side of their business — lineage, health records, contracts, payouts — and a set of AI tools that do the work that used to eat their evenings.

The target user is a hobbyist or professional breeder managing 1–50 animals, across nine species — dogs, cats, rabbits, reptiles, birds, insects, fish, exotics, and the long tail. The industry today runs on Facebook groups, spreadsheets, Venmo, email, and whatever app someone's cousin recommended. Scrlpets is one login.

It's live at scrlpets.lovable.app.

02 — The scope, in numbers

Most portfolio pieces skip the receipts. We don't.

Scrlpets home feed — a full-stack social marketplace for animal breeders, built in-house at Synapse Dynamics.
scrlpets.lovable.app · live pre-beta
Source files
605
Routes
60+
Custom React hooks
85+
Postgres tables
131
SQL migrations
108
Supabase edge functions
34
Integrated AI tools
21
Species supported
9
Subscription tiers
5
Build phases shipped
5
Team size
1

These are the numbers because the question a consultancy's portfolio page should answer isn't “is this pretty?” — it's “can these people actually ship something at production scale?” This is our answer.

03 — The stack

Production-grade from day one.

Frontend

React 18 · TypeScript · Vite 5 · Tailwind CSS · shadcn/ui · TanStack Query · TanStack Virtual

Backend

Supabase · Postgres · Row-Level Security · Edge functions in Deno/TypeScript

Payments

Stripe Connect — escrow, subscriptions, marketplace payouts

AI

Lovable AI Gateway (Gemini 2.5 Flash) across 21 tools · OpenAI Whisper for voice-to-listing

Maps

Mapbox GL JS v3

Delivery

PWA with service worker, offline support, and push notifications

No client-side database. No ORM the database didn't ask for. No “we'll figure out auth later.” RLS is on from day one.

04 — What was interesting about building it

Decisions that mattered.

01

Virtualized feed from launch, not as an optimization.

A TikTok-style feed that scrolls through thousands of listings can't be built the naive way and patched later. TanStack Virtual was in the architecture from commit one, so the feed only renders what's on screen regardless of how many rows the database has. The perf budget is stable as the product grows.

02

Manual vendor chunking to stop React dispatch corruption.

Most Vite projects ship one big vendor chunk and move on. Scrlpets splits vendor code into eight deliberate chunks, because an earlier auto-chunking pass produced a subtle React dispatcher mismatch when two chunks loaded out of order. Fixing it required understanding why the default bundler behavior can break modern React — not just turning knobs until it worked.

03

Checkpoint system with git tags and a checkpoint.sh script.

Rolling back an AI-assisted build where a single bad session can touch thirty files isn't something you handle with git reset. Every stable state gets tagged and documented. The cost is two minutes per checkpoint. The savings are measured in days.

04

RLS-first data model.

131 tables, all governed by Row-Level Security policies from the start. No 'we'll lock it down before launch.' Security that's retrofitted at the end of a build is security that doesn't exist; security that's designed in from the schema up is the only kind that holds.

05 — Status

Pre-beta

Scrlpets is in pre-beta. The platform is live, the build is passing, and the current work is onboarding email infrastructure, analytics instrumentation, and beta cohort recruitment for the exotic-breeder segment.

There are no paid users yet. There is no MRR to report. When those numbers exist, this page will be updated with them — not before.

We'd rather show you what we built than make up what it did.

Start a project

Want something like this for your own problem?

Tell us what you're trying to ship. We'll tell you what it takes.