Marketplace Mobile App · Working Spec

Yallabae Mobile Marketplace

Functional specification, work breakdown, and cost estimate for the Yallabae mobile app, covering Customer, Seller, and Admin in full.

Prepared by M.Hunain, for the Yallabae mobile build Backend Lovable Cloud / Supabase-based; the mobile-facing API layer, push infrastructure, and staging environment are built as part of this engagement, alongside the app Scope Customer + Seller + Admin, full Proposed 167 working days · PKR 6,000/day · PKR 1,002,000 Resourcing Costed on a single resource — the total effort (167 days / PKR 1,002,000) stays fixed either way, but calendar time can shorten if a second resource works in parallel on independent tracks (e.g. Customer, Seller, and Admin run side by side) Status Complete — Parts 1, 2 & 3 ready for review
01

Functional Specification

Every module below reflects the live platform. Items marked confirmed are live and working today; gap marks scope that isn't on the live platform yet, deferred rather than assumed; unverified marks scope inferred from platform copy rather than a live screen.

A — Customer App

Catalog & Navigation

CUST-01
confirmed
  • 19 categories total (11 top-level + 8 under "More"), each opening a mega-menu of up to 11 subcategories
  • Category listing pages: subcategory chips, price-range filter, star-rating filter, multi-select brand filter, 5-way sort (Featured / Price ↑ / Price ↓ / Rating / Newest)
  • Search with the same faceted filters — 60 results returned for a single test query
  • Flash Deals page: shared countdown timer across listed deals, per-product "% sold" progress bar

Product Detail

CUST-02
confirmed
  • Image gallery, price + discount badge, stock urgency messaging ("only 1 left")
  • Per-product seller attribution card (confirmed genuine multi-vendor — two products showed two different sellers)
  • Review infrastructure present but unseeded ("no reviews yet — be first after purchase")
  • Variant selector on apparel (size, shown as tappable M/L/XL/2XL-style options); the platform's data model supports variants generically (size, color, etc.), so the mobile selector is built generic rather than size-only — it will handle color variants the moment any seller lists one
  • No Q&A section on the product page

Wishlist

CUST-03
confirmed
  • Dual behavior: heart icon on product cards toggles anonymously (local/optimistic UI, no login prompt)
  • Full wishlist list page is login-gated (/account/wishlist)

Cart & Checkout

CUST-04
confirmed
  • Slide-out cart drawer + full cart page; VAT-inclusive pricing (5% UAE VAT); free-shipping threshold nudge
  • 3-step checkout: Shipping → Payment → Review
  • Shipping: address types (Home/Office/Other), Emirate + City cascading select — all 7 emirates present; saved addresses persist to account
  • Payment: Tap Payments integration (Card, Apple Pay, Google Pay) plus a separate Cash on Delivery option (adds AED 10 handling fee)
  • Coupon code field present at both cart and checkout ("YALLA40" confirmed live); one coupon per order, excluded on Flash Deal items
  • Multi-vendor orders itemize shipping per seller (e.g. "Delivered by Comms and Goods LLC — AED 1.00")
  • Delivery estimate shown contextually (e.g. "24–48 hours" for Dubai)
Two items in the design are open questions, not yet priced: a saved-card / tokenized payment option (CVV re-entry on a stored card) — pending confirmation on whether this runs through Tap Payments' own hosted vault or requires custom secure storage; and a "YallaPlatinum" membership perk shown on Express delivery — pending scope and timing from the client before it's costed.

Account Area

CUST-05
confirmed
  • Profile Settings — name, phone, saved addresses (multiple, typed), change password
  • Order History — status-tabbed (All / Pending / Processing / Shipped / Delivered / Cancelled)
  • Returns — dedicated list view tied to completed orders
  • My Reviews — gated to "view orders to write reviews" (purchase-gated review submission)

Auth

CUST-06
confirmed
  • Google OAuth + email/password, with mandatory email verification step before first login
  • Server-side weak/breached-password rejection on signup
  • Backend runs on Lovable Cloud (Supabase-based), identifiable from the auth verification email's sender domain

Localization

CUST-07
deferred — not in this scope/cost
  • No language switcher on the live platform — English only, currently
  • Arabic/English localization is in progress on the web platform but not live yet, so there's no live reference to build against — out of this scope and cost rather than assumed
  • Product page layout (text containers, icon direction, spacing) is built RTL-aware from the start, so localization can switch on later at low cost instead of a layout retrofit
  • Full localization (translated content pipeline, RTL across every screen, not just product pages) comes into scope once the web platform has it live

B — Seller App

Seller Onboarding (KYC)

SELL-01
confirmed
  • Separate registration system from customer signup, at a dedicated /seller/register wizard with its own login
  • 4 steps: Account (name/email/password/phone or Google OAuth) → Business (store name, UAE business address, description) → Categories (multi-select from the full 19-category taxonomy) → Documents
  • Documents step is a hard gate: mandatory upload of UAE Trade License + Emirates ID (PDF/JPG/PNG, max 10MB), plus required Seller Agreement acceptance — submission is disabled without a file
  • Applications go into a review queue with email notification on approval, typically 2-3 business days

Seller Dashboard — Analytics

SELL-02
confirmed
  • Date-range filters (Today / 7 Days / 30 Days / 90 Days / All Time / Custom)
  • 8 KPI tiles: Total Sales, Total Orders, Pending Orders, Payouts Received, Returns, Low Stock Alerts, Pending Reviews, Cancelled Orders
  • Sales Trend chart, Orders by Status chart, Top Products by Revenue, Commission by Category
  • Recent Orders table and Low Stock Alerts panel, each with a "view all / manage" link into the full module

Product Management

SELL-03
confirmed — bigger than originally scoped
  • Product list with search (title/short name/SKU) and a "Missing images" filter
  • Add Product form is genuinely complex: Physical vs. Digital product type toggle with different field sets (digital = no shipping/stock, card-only payment, buyer gets an access link)
  • Title, slug, model number, SKU/barcode, description, price, original price, stock
  • Brand selector — searchable dropdown across 300+ existing brands
  • Category + subcategory cascade (same 19-category taxonomy used everywhere else)
  • Mandatory shipping dimensions (weight, length, width, height) — carrier-relevant, not decorative
  • Image upload with auto-resize and WebP conversion (spec: 1000×1000px recommended, under 2MB, auto-converted to ~300KB)
  • Freeform Specifications (add arbitrary key-value rows)
  • Trust Badges multi-select (Warranty Available, Product Assembling Available, Secure Payment, Upgrade Available, Condition: Brand new, Condition: Renewed) — these map directly to the "Sold by" box badges on the customer-facing product page
  • Product Variants (size/color, independent stock and price per variant)
Bulk Upload stays web-only — confirmed as the single seller feature that doesn't move to mobile; everything else above, including single-product create/edit, is full mobile scope.

Inventory

SELL-04
confirmed — not previously scoped
  • Separate nav item and separate screen from Products — a dedicated stock-management view beyond the per-product edit form

Orders & Returns

SELL-05
confirmed
  • Orders: status-filterable list view
  • Returns: dedicated list view with status tabs, mirroring the customer-side Returns module
  • Reviews: seller-facing view of customer reviews on their own products

Seller-Created Coupons

SELL-06
confirmed — not previously scoped
  • This is separate from the platform-wide coupon codes (like YALLA40) already scoped under CUST-04 — sellers can build and manage their own
  • KPIs: Total Coupons, Total Redemptions, Total Discount Given
  • Two views: "My Coupons" and a "Usage Report"

Seller-Created Flash Deals

SELL-07
confirmed — not previously scoped
  • Sellers can create their own flash deals, separate from the platform-curated homepage countdown deals on the customer side

Payouts

SELL-08
confirmed
  • Three states: Total Earned, Pending Payout, and Frozen (the last one likely ties to open disputes or return holds)
  • Requires IBAN/bank details in Settings before payouts activate
  • Payout History table; bi-weekly cadence

Settings & Onboarding Checklist

SELL-09
confirmed — not previously scoped
  • First login shows a 4-item checklist: Store information (name & phone), Warehouse/pickup address, Bank details for payouts, KYC documents on file
  • Warehouse/pickup address is a distinct required field — separate from the business address collected during registration

Buyer-Seller Messaging

CUST-08 / SELL-10
confirmed — live reference exists
  • Live on the web platform as product enquiries — a conversation thread tied to a product, with file attachments and email notification on new messages
  • Real-time delivery via Supabase Realtime (not WebSockets — corrected from an earlier assumption), matching the platform's existing messaging protocol
  • Mobile build: conversation list, thread view, send/receive, read/unread state, plus a push notification tie-in for new messages (shares infrastructure with A8 Notifications)

C — Admin Panel

Reviewed directly in a live admin session (real production data — 157 sellers, 219 users, 1,570 products). Grouped here by function, matching the admin's own navigation.

Dashboard & Analytics

ADM-01
confirmed
  • Date-range filters (Today / 7 Days / 30 Days / 90 Days / All Time / Custom) plus a Compare toggle
  • 8 KPI tiles: Total Revenue, Commission Earned, VAT Collected, Total Orders, Avg Order Value, Total Customers, Active Sellers, Pending Returns, Pending Reviews, Cancelled Orders
  • "Delivery method requests" panel — sellers requesting self-delivery, each with a Review action inline

Sellers Management

ADM-02
confirmed
  • List with status tabs (All / Pending / Approved / On Hold / Rejected) and delivery-method filters, search, export
  • Full detail page per seller: owner info, store info, warehouse/pickup address, shipping method, bank account, selected categories, KYC documents (downloadable), Seller Agreement consent with version tracking, embedded products and reviews
  • Pending changes (e.g. a bank-details update) surface inline on the detail page with a before/after comparison and Approve/Reject actions, rejection requiring a reason
  • Internal admin-only notes field (also sent to the seller on rejection/hold); Block Store action

Document Reviews (KYC queue)

ADM-03
confirmed
  • Dedicated queue for pending seller document/detail changes, separate from the main Sellers list, with a waiting-time indicator per item

Users Management

ADM-04
confirmed
  • All platform users (customer, seller, admin roles) in one list — search, status/role filters, sortable columns (orders, spend, joined date), export
  • Per-user detail view and delete

Products (moderation + platform-created)

ADM-05
confirmed
  • List with status tabs (Pending / Approved / Rejected / All), search, bulk-select, quick approve/reject, export
  • Full detail view — images, specifications, variants, seller card, flag history, status-change audit history — plus Approve / Reject / Edit / Flag / view-on-storefront actions
  • Edit form matches the seller-side Product Management form in full complexity (Physical/Digital toggle, shipping dimensions, image pipeline, freeform specifications, Trust Badges) — plus admin-only Promotional Badges (Best Seller, New, Hot, Limited, Eco, Featured — up to 2 per product)
  • "Create YallaBae Product" — admin can create platform-owned listings directly, not just moderate seller listings

Catalog Configuration

ADM-06
confirmed
  • Brands — approval queue (450 brands), homepage-visibility flag, sort order
  • Attributes — product attribute types and their allowed values (used to standardize seller-entered specifications)
  • Categories — nested hierarchy, per-category commission rate (varies by category — e.g. 6% vs 10% seen live), refundable flag, show-on-homepage toggle, homepage order

Merchandising

ADM-07
confirmed
  • Flash Deals — platform-wide approval queue, homepage-slot count
  • Coupons — platform-wide (distinct from seller-created ones), KPI tiles (Pending Review, Active, Total Redemptions, Total Discounts Given), approval queue, Usage Report
  • Homepage Banners — 8 distinct placement types (Main, Side Top, Side Bottom, Reasons Top, Reasons Bottom, Promo Wide, Promo Narrow, Featured), each with its own recommended dimensions, reorderable, active toggle per banner
  • Featured Collections — curated sections (banner + up to 7 products + link), reorderable, up to 15 sections
  • Collections — curated homepage cards (image, title, subtitle, link)
  • Reasons to Shop — homepage trust-signal section, simple content management

Orders (all-seller)

ADM-08
confirmed
  • All orders across every seller — status/payment filters, date ranges, search, export
  • Multi-vendor orders shown with all sellers involved; payment method detail down to the sub-variant (e.g. "Cash On Delivery — Pay By Card Machine")
  • Operational tools: Sync shipment statuses (pulls latest courier status) and Clean up abandoned orders — not just a read-only list

Returns & Reviews

ADM-09
confirmed
  • Returns — status-tabbed queue with a "Fault" column (customer vs. seller), tied to refund handling
  • Reviews — moderation queue (Pending / Approved / Rejected)

Payouts

ADM-10
confirmed — most complex admin module
  • Order Reconciliation health-check panel — automatically verifies that items − discount + shipping + fees = total across recent orders
  • Pending / Paid / Frozen payout summaries, manual payout-period creation (date range)
  • Per-seller payout table with 13 calculated columns per period: gross, coupons, refunds, sales subtotal (incl./ex. VAT), VAT deducted, commission, VAT on commission, shipping collected, ship cost, payout before/after shipping, 20% deferred hold, net payout
  • Export Payouts & VAT

Site Settings

ADM-11
confirmed
  • Top announcement banner (storefront-wide, with optional link)
  • Shipping config — free-shipping threshold, fallback shipping fee (used when the live Posta Plus quote is unavailable), Cash on Delivery fee (charged to the customer, kept by the platform, excluded from seller payouts)

Policies (legal CMS)

ADM-12
confirmed
  • 9 legal/policy pages (About, Cookie Policy, Marketplace Policies, Master Terms, Privacy, Prohibited Products, Refund Policy, Terms of Sale, Terms of Use) — each editable, plus create-new

Sell With Us Page (landing-page CMS)

ADM-13
confirmed — deeper than expected
  • Full content editor for the public seller-acquisition landing page, across 10 sections: Hero, Ribbon, Why Sell, Launch Offer, What to Sell, How It Works, Fulfillment, Expectations, Who Should Sell, Bottom CTAs
02

Work Breakdown Structure

Three functional tracks — Customer, Seller, and Admin — costed independently of app-count. These ship as two apps: Customer standalone, and Seller + Admin combined behind role-based access (see the app structure note). The day estimates below hold either way, since they're driven by feature complexity, not by how the features are packaged.

CodePhaseCoversDepends onDays
Track A — Customer App
A1Foundation & AuthRN project setup, navigation shell, design system, Lovable/Supabase auth integration, email verification flow, password policy handling—5
A2Catalog & Navigation19-category mega-menu as native nav, subcategory browsing, price/rating/brand filters, 5-way sort, search. Includes RTL-aware layout groundwork (logical direction, not hardcoded left/right)A18
A3Product DetailGallery, seller attribution card, stock/urgency states, review display (read-only), generic variant selector (size/color/etc., tappable options with price/stock updates, carried through cart and checkout). Includes RTL-aware layout groundworkA26
A4WishlistAnonymous local toggle + authenticated persisted list, sync on loginA1, A32
A5Cart & Multi-Vendor PricingCart drawer + page, VAT calc, free-shipping threshold logic, per-vendor shipping line itemsA35
A6CheckoutShipping address (typed, emirate/city cascade), Tap Payments SDK integration (Card/Apple Pay/Google Pay), Cash on Delivery path, coupon validation, order reviewA59
A7Account AreaProfile/addresses, Order History (status-tabbed), Returns list + request flow, purchase-gated review submissionA1, A65
A8NotificationsPush setup (iOS + Android), in-app alerts (order status, deals)A64
A9Messaging (Customer side)Conversation list, thread view, send/receive via Supabase Realtime (matching the platform's existing product-enquiry messaging), read/unread stateA1, A34
A10QA & Store SubmissionCross-platform QA, store listing assets, review-cycle buffer (both stores)A1–A96
Track A subtotal54
Track B — Seller Functionality
B1Foundation & AuthApp shell/navigation, seller auth, role-based permission layer shared with Admin (Seller and Admin ship as one combined app)—3
B2Onboarding & KYC4-step registration wizard, document upload (Trade License / Emirates ID), Seller Agreement acceptance, warehouse/pickup address, pending-approval stateB17
B3Product ManagementPhysical/Digital product types, brand & category selection, mandatory shipping dimensions, image upload with resize/format pipeline, specifications, trust badges, product variants (size/color with independent stock/price), order management. Bulk upload stays web-onlyB211
B4Seller AnalyticsDashboard KPIs, sales trend, orders-by-status, top products, commission breakdownB34
B5PayoutsEarned/Pending/Frozen states, bank/IBAN details, payout history, bi-weekly cadenceB33
B6InventoryDedicated stock-management view, separate from the product edit formB33
B7Seller CouponsCoupon builder, redemption tracking, usage report — separate from platform-wide coupon codesB34
B8Seller Flash DealsSeller-created flash deals, separate from platform-curated onesB33
B9Messaging (Seller side)Seller-context thread view, reusing the Customer-side messaging components, matching the platform's existing product-enquiry messagingA9, B12
B10QA & Store SubmissionQA, store listing (or internal distribution decision), review-cycle bufferB1–B95
Track B subtotal45
Track C — Admin Panel
C1Foundation & AuthAdmin login, role-based access, navigation shell—3
C2Dashboard & Analytics8 KPI tiles, date-range/compare filters, revenue/commission/VAT charts, delivery-method-requests panelC15
C3Sellers ManagementList + filters, full seller detail (owner/store/warehouse/bank/KYC/agreement), inline pending-change approve/reject, block/deleteC17
C4Document ReviewsKYC/detail-change queue, approve/reject flowC32
C5Users ManagementAll-role user list, filters, detail view, deleteC13
C6Products (moderation + platform-created)List, full detail with status/flag history, edit form matching seller-side complexity, admin product creation, Promotional BadgesC18
C7BrandsApproval queue, homepage-visibility flag, sort orderC12
C8AttributesAttribute types and allowed valuesC11
C9Categories & CommissionsNested hierarchy, per-category commission rate, refundable/home-visibility toggles, orderingC13
C10Flash Deals (platform)Approval queue, homepage-slot limitC12
C11Coupons (platform)KPIs, approval queue, Usage ReportC12
C12Homepage — Banners8 placement types, each with own dimensions/ordering/active toggleC14
C13Homepage — Featured CollectionsBanner+products+link sections, reorderable, up to 15C12
C14Homepage — CollectionsCurated cards (image/title/subtitle/link)C11
C15Homepage — Reasons to ShopHomepage trust-signal content sectionC11
C16Orders (all-seller)List + filters, sync shipment statuses, clean-up abandoned, exportC13
C17Returns & ReviewsReturns queue with fault-tracking, review moderation queueC13
C18PayoutsOrder Reconciliation health-check, Pending/Paid/Frozen summaries, payout-period creation, 13-column per-seller calculation, exportC16
C19Site SettingsAnnouncement banner, shipping thresholds/fees, Cash on Delivery feeC12
C20Policies (CMS)9 legal pages, editable + create-newC11
C21Sell With Us Page (CMS)10-section landing-page content editorC13
C22QA & Store SubmissionAdmin-side QA, review-cycle bufferC1–C214
Track C subtotal68
Total — Customer + Seller + Admin
A + B + C combined167
Open — not costed
X1Arabic / RTL LocalizationNot present on live site; deferred until the web platform has it live (see CUST-07)——
Two apps — This covers Customer, Seller, and Admin in full — including the seller dashboard, the generic size/color variant selector, and every admin module reviewed directly in a live session — at 167 working days combined at PKR 6,000/day. Customer ships standalone; Seller and Admin ship as one combined app behind role-based access, sharing C1's permission layer.
03

Costing

Day rate: PKR 6,000/day, applied directly to the phases above. Covers Customer, Seller, and Admin in full. Every figure below is a day count times the rate — no hidden margin, checkable line by line against the spec.

CodePhaseDaysCost (PKR)
Track A — Customer
A1Foundation & Auth530,000
A2Catalog & Navigation848,000
A3Product Detail636,000
A4Wishlist212,000
A5Cart & Multi-Vendor Pricing530,000
A6Checkout954,000
A7Account Area530,000
A8Notifications424,000
A9Messaging (Customer side)424,000
A10QA & Store Submission636,000
Track A subtotal54324,000
Track B — Seller
B1Foundation & Auth318,000
B2Onboarding & KYC742,000
B3Product Management1166,000
B4Seller Analytics424,000
B5Payouts318,000
B6Inventory318,000
B7Seller Coupons424,000
B8Seller Flash Deals318,000
B9Messaging (Seller side)212,000
B10QA & Store Submission530,000
Track B subtotal45270,000
Track C — Admin
C1Foundation & Auth318,000
C2Dashboard & Analytics530,000
C3Sellers Management742,000
C4Document Reviews212,000
C5Users Management318,000
C6Products (moderation + platform-created)848,000
C7Brands212,000
C8Attributes16,000
C9Categories & Commissions318,000
C10Flash Deals (platform)212,000
C11Coupons (platform)212,000
C12Homepage — Banners424,000
C13Homepage — Featured Collections212,000
C14Homepage — Collections16,000
C15Homepage — Reasons to Shop16,000
C16Orders (all-seller)318,000
C17Returns & Reviews318,000
C18Payouts636,000
C19Site Settings212,000
C20Policies (CMS)16,000
C21Sell With Us Page (CMS)318,000
C22QA & Store Submission424,000
Track C subtotal68408,000
Total
Customer + Seller + Admin, 167 days @ PKR 6,000/day1671,002,000
Not in this number — Full Arabic/RTL localization is deferred and not priced in, but the RTL-ready layout groundwork in A2/A3 is included, so switching it on later, once the web platform has it live, is low-cost rather than a rebuild. The "YallaPlatinum" membership perk and saved-card/tokenized payment (both flagged under CUST-04) are also not priced in, pending scope confirmation.
On timeline vs. cost — The 167 days above is total effort, costed for a single resource. If more than one resource works in parallel, Customer, Seller, and Admin are independent enough to run on separate tracks, which shortens calendar time — but the total cost stays PKR 1,002,000 either way, since it's priced on effort, not on how many people deliver it.