Halaly App
Gulf Livestock Trading & Veterinary Services Marketplace — Mobile + Admin + API.



Context
Full-stack bilingual (Arabic) marketplace for livestock trading and veterinary services in the Gulf region. The mobile app (React Native/Expo) serves two user roles: livestock owners who list and browse animals (sheep, cattle, camels, goats) and service companies who publish veterinary, breeding, and transport services. Subscription tiers via Tap Payments and Apple IAP gate ad volume and listing limits. Digital notebooks across 27 record types let owners log lineage, health, production, and feed per animal. Backed by an Express/PostgreSQL API and a Next.js admin dashboard built with tRPC.
The Challenge
Livestock trading and veterinary services in the Gulf operate largely through informal channels — WhatsApp groups, phone calls, and physical markets. For an owner in Kuwait needing a veterinarian or looking to sell animals, there was no searchable market: no verified service providers, no way to compare pricing, and no structured intake for enquiries. On the supply side, veterinary and breeding companies had no professional acquisition channel beyond word of mouth. And across both sides, there was no digital system for owners to maintain animal records — lineage, vaccinations, production history, feed logs — so each care decision was made without historical context.
Approach
The platform was scoped as a two-sided marketplace with hard role separation from the start. Customers (livestock owners) get a trading and management surface: list animals, browse the market, subscribe to services, and maintain per-animal digital notebooks. Companies get a B2B acquisition channel: publish services, manage subscribers, and build a verified profile that passes an admin document check before going live. Subscription tiers are enforced structurally in the API — ad volume for customers, listing limits for companies — so the business model is part of the product architecture, not a bolt-on. The admin layer was built to handle all moderation, verification, and content management without developer involvement.
Key Decisions
Hard role separation: two navigation trees, two home screens
Livestock owners and service companies have structurally different jobs in the app. A single navigation tree serving both would have forced constant context-switching and diluted both experiences. Customer and Company flows are separate from login: different tab bars, different home screens, different add-content flows. Permissions and plan limits are enforced per role at the API level, not just the UI.
Subscription tiers as structural monetisation, not advisory limits
Rather than taking a cut of each trade, the platform charges for access: ad volume for customers, service listing reach for companies. Tier limits are checked by the API before every ad creation or service publish — a FREE-tier customer hitting ten ads cannot post an eleventh regardless of client state. Tap Payments handles card and Apple Pay for web-initiated purchases; Apple IAP is used for in-app subscription flows on iOS. Both paths write to the same order and subscription tables so the business has one source of truth.
Digital notebooks as a daily-use retention mechanism
27 notebook types covering lineage, vaccination schedules, production output, feed logs, and services per species give the platform a reason to be opened on non-transaction days. Each record builds a verifiable animal history that increases switching cost — an owner who has logged two years of sheep vaccination records is not moving to a competitor easily. Image uploads per record go to AWS S3, so the history is durable and not device-dependent.
Company document verification as a trust gate
Companies must upload five documents (commercial licence, register extract, signature authority, civil ID, incorporation contract) before any services go live. The admin reviews submissions from a dedicated verification queue. This structural gate is what makes the service-provider side trustworthy enough to attract paying subscribers — customers booking a veterinarian or breeding service need to know the company is legally registered, not just self-declared.
Dual payment paths with a single backend source of truth
Gulf operators expect Tap Payments for card and Apple Pay; Apple IAP is mandatory for subscription purchases initiated inside an iOS app. Rather than two separate subscription systems, both payment paths write to the same payments, orders, and subscriptions tables via webhook. The admin payment dashboard sees all transactions regardless of which provider processed them, and plan upgrades take effect immediately after either webhook confirms.
What Shipped
- 01Two-sided marketplace: livestock owners post and browse animal ads; verified companies publish veterinary, breeding, and transport services
- 02Subscription tiers (FREE → BASIC → PREMIUM → ENTERPRISE) enforced via Tap Payments and Apple IAP — ad volume and service listing limits tied to plan
- 03Digital livestock notebooks across 27 record types (lineage, vaccination, production, feed, services) per species — image uploads to AWS S3 per record
- 04Company onboarding with five-document verification (commercial licence, civil ID, incorporation contract) — admin approval gates before listings go live
- 05Bilingual Arabic/English with full RTL layout, country-code selectors, and Kuwait governorate address fields throughout
- 06Next.js admin dashboard (tRPC) covering users, ads, services, payments, subscriptions, category hierarchy, company verification queue, and marquee/banner CMS
Outcomes
- →01Two-sided Gulf marketplace live: livestock owners have a structured digital trading channel; veterinary and breeding companies have a verified acquisition surface.
- →02Subscription revenue model enforced structurally — plan limits on ad volume and service listings create natural upgrade pressure without manual enforcement.
- →03Digital livestock notebooks across 27 record types give owners a management tool that drives daily active use beyond transaction moments.
- →04Company verification queue gave the admin team a structured document review process — every listed service provider is vetted before going live.
- →05Bilingual RTL infrastructure supports Arabic-first usage across the Gulf, with English available for bilingual operators and international companies.