Blog

How we build.

How we build: the stack, the stores, the 20-day offer, the products we can prove — and how Ship actually hands the product over.

  1. An unmarked phone lying face-down on dark ceramic, teal channels converging toward it.

    01

    When a product should be built natively for Apple

    Native iOS app development in Swift is for products that should feel like they were made for Apple. Flutter stays the default when both stores matter from day one.

    • iOS
    • Swift
    • Mobile
  2. Two dark glass slabs sharing one teal channel on a mineral surface.

    02

    Flutter app development: one codebase for iOS and Android

    Flutter is the default for mobile at FLUIDS. One Dart codebase, both stores, Arabic as a layout problem — and a clear line for when we still write Swift.

    • Flutter
    • Mobile
    • iOS
    • Android
  3. A dark monitor with a blank screen beside a sheet of pale paper on a teal-inlaid desk.

    03

    The admin panel for a mobile app is the control surface

    Operators do not live inside the consumer app. They need a web admin panel on the same data — users, content, bookings, roles — or the mobile screens do not matter.

    • Admin
    • Backend
    • React
  4. Seven teal channels in dark ceramic, isolated, resolving toward one plane.

    04

    Multi-tenant applications: one product, many organizations

    A clinic, a merchant, an instructor, a supplier branch — each is an organization inside one product. Multi-tenancy is how that stays one codebase without sharing data.

    • Architecture
    • Backend
    • SaaS
  5. Two planes meeting at a point — Flutter RTL Arabic as two directions, not two files.

    05

    Arabic and English in one Flutter app

    A bilingual Flutter app in the Gulf is not a second locale file. Flutter RTL Arabic is direction, plurals, fonts, mixed script, and the Xcode language list.

    • Flutter
    • Arabic
    • RTL
  6. A sealed handset-shaped form on an unprinted tray — the object that App Store submission actually ships.

    06

    What it takes to ship to both stores

    Publishing a Flutter app — or a Swift one — means two store checklists. App Store submission and Google Play release are not the same review.

    • App Store
    • Play
    • Release
  7. An unfinished but precise milled plane on dark ceramic — the 20-day MVP as a first cut, not a finished monument.

    07

    What a 20-day MVP actually is

    MVP development in Saudi Arabia, as Fluids offers it: a fixed-scope first product real users can open, on a codebase that becomes the full product. Not a slogan. Not a case-study number.

    • MVP
    • Process
    • Riyadh
  8. Two dark objects sharing one teal channel — a Supabase mobile backend under the phone and the admin.

    08

    One backend for the app and the admin

    The Flutter (or Swift) client and the React admin share one Supabase project. Auth, RLS, storage. A second database for the dashboard is a mistake.

    • Backend
    • Supabase
    • Flutter
  9. Healthcare app development as two objects on one desk — a small sealed form and a larger teal tray.

    09

    Healthcare app development is two products

    Clinic booking is not a procurement marketplace. The clinic or supplier lives in the admin. The patient or buyer lives in the app.

    • Healthcare
    • Mobile
    • Web
  10. EdTech app development as three glass planes — three jobs, one family, no screens.

    10

    Three learning jobs, one studio

    EdTech app development is not one app. A university course platform, a Quran companion, and MoE performance portfolios are three different jobs.

    • EdTech
    • Web
    • Mobile
  11. Retail app development as two unmarked objects on one desk — a shopper token and a merchant surface, one teal channel.

    11

    Retail app development: two faces, one product

    A shopper app and a merchant dashboard as one product. Physical-world offers, found nearby and redeemed in the store — not a cart, not IAP.

    • Retail
    • Mobile
    • Admin
  12. App handover as a glass key on an empty tray — credentials that already belong to the client.

    12

    What an app handover actually transfers

    Launch, handover documentation, and credentials that already sit on the client’s accounts. What transfers. What we do not keep.

    • Handover
    • Process
    • Ship
  13. A sealed teal archive box with a closed latch — PDPL as a product constraint, not a certificate.

    13

    PDPL is a product constraint, not a certificate

    If an app or admin processes personal data of people in the Kingdom, the Personal Data Protection Law applies. Privacy notices, a lawful basis, subject rights. We are not a law firm.

    • PDPL
    • Saudi
    • Product