Completed Web Application

Pigeon Pedigree Pro — Multi-Tenant Loft Management SaaS

Photograph a paper pedigree certificate and the birds appear in your loft records — with breeding, health, feed and race history behind them.

Pigeon Pedigree Pro — Multi-Tenant Loft Management SaaS
01 — THE PROBLEM

A pigeon breeder's records are paper. Every bird acquired comes with a pedigree certificate — a printed sheet listing three or four generations of ancestry, in whatever layout the seller's loft uses — and the only way into software is typing fifteen birds' ring numbers, names and bloodlines by hand, per certificate. That single friction point stops most breeders adopting management software at all, because the value only arrives after the tedious part is done. Once past it, the rest of the domain is genuinely multi-part: pedigrees, breeding pairings and eggs, health records with medications and vaccinations, feed formulation from grain nutrition, and race results — related enough to belong in one system, distinct enough that each needs proper modelling. And a product sold to many independent lofts needs strict data separation, because a competitor seeing another loft's breeding records is a commercial injury, not just a privacy one.

02 — OUR SOLUTION

A Django REST backend with a Flutter client, built on a scan-first premise. The breeder photographs a pedigree certificate; an OCR pipeline runs it through a choice of engines — Tesseract, Google Vision, or Gemini — with an automatic mode, extracts the entities, maps them into a pedigree structure, and presents the result for correction before anything is imported. Correction, retry and re-scan are first-class operations, because OCR on a photographed paper document is never perfect and the honest design is to make fixing it easy rather than to pretend accuracy. Corrected scans feed a training-sample store, so the pipeline has a path to improving on real certificates rather than synthetic ones. Everything else builds on that base. Multi-tenancy runs through a tenant model, manager and middleware, so scoping is structural rather than a filter each view has to remember. Pedigree trees are cached and invalidated rather than recomputed per view, and a bird can be published through a public share link. Breeding records track pairings and individual eggs; health covers records, medications and vaccinations; a feed calculator builds formulas from ingredients with nutritional breakdown. Subscription tiers gate on the two things that actually cost money — pigeon count and monthly scans — with Stripe checkout, a billing portal, downgrade flow, and one-off booster bundles for breeders who need extra scans without moving tier. Push notifications, in-app support ticketing, and app version gating round it out.

Outcome

A complete commercial SaaS product: Django REST API, Flutter application across iOS and Android, four subscription tiers with metered limits, Stripe billing including one-off top-up bundles, and an OCR import pipeline that removes the single biggest barrier to a breeder adopting management software. Deployed with Docker Compose behind Nginx with Let's Encrypt, and documented as a living tracker that maps every backend endpoint to its wiring status in the app — so what's built, what's partial and what's missing is visible at a glance rather than discovered later.

Key features

  • Pedigree certificate scanning with a choice of OCR engines — Tesseract, Google Vision, Gemini, or automatic
  • Entity extraction and pedigree mapping from photographed paper certificates
  • Correction, retry and dry-run import preview before anything reaches the records
  • Training-sample capture from corrected scans, for improving the pipeline on real documents
  • Structural multi-tenancy via tenant model, manager and middleware
  • Cached pedigree trees with explicit invalidation
  • Public share links for individual birds
  • Breeding records with pairings and per-egg tracking
  • Health records with medications and vaccinations
  • Feed formula generator from ingredients with nutritional breakdown
  • Race results per bird
  • Four subscription tiers metering pigeon count and monthly scans
  • Stripe checkout, billing portal, and downgrade-to-free flow
  • One-off booster bundles for extra scans without a tier change
  • Push notifications with per-user preferences and device token management
  • In-app support ticketing with replies and close
  • App version gating for forced updates
  • PDF pedigree generation
  • Riverpod state management with go_router navigation and typed Retrofit API client
  • JWT with refresh interceptor and tokens in secure storage
  • Dockerised deployment with Nginx and Let's Encrypt

Tech stack

Django Django REST Framework SimpleJWT MySQL Celery-style task modules Tesseract Google Cloud Vision Gemini Stripe RevenueCat Firebase Flutter Riverpod go_router Dio Retrofit Hive flutter_secure_storage Docker Compose Nginx Let's Encrypt

Build something similar?

Tell us about your project. We'll share how we'd approach it.

Start a project