[ Service · SaaS · Casablanca, Morocco ]

SaaS Development Services

In short

RAIN Design Studio provides SaaS development services from Casablanca: product design, full-stack build and launch for subscription software, billing platforms and business tools. Our own products prove the stack: ERPStore runs subscriptions across 10 payment methods and 32 languages, and RIVER ERP runs 23 modules with multi-company roles and 18 AI provider adapters. Custom SaaS builds typically take 8–16 weeks.

10

Payment methods in ERPStore

32

ERPStore interface languages

23

Activatable modules in RIVER ERP

18

AI provider adapters in RIVER

SaaS development services, from first screen to first invoice

Good SaaS development services are not only about features. A subscription product lives or dies on the parts users never praise: billing that handles failed cards, roles that keep data private, upgrades that never lose a record, and a sign-up flow that works in the customer’s language.

RAIN Design Studio is a small senior studio in Casablanca that designs and builds these products end to end. Our evidence is not a slide deck. We built and run two platforms of our own: ERPStore, a subscription store, billing and CRM platform, and RIVER ERP, a modular business operating system. Both ship as self-hosted, domain-licensed software rather than classic multi-tenant SaaS, but they contain every hard part of one, and they are the code we draw on when we build yours.

What a SaaS product needs beyond features

Subscriptions, billing and recovery

ERPStore handles an 8-stage order lifecycle, 9 payment states, partial and full refunds, PDF invoices, reconciliation and dunning for failed payments. It supports 10 payment methods: five through APIs (PayPal, Stripe, Paymentwall, Payssion, Whop) and five with manual confirmation (bank transfer, Western Union, MoneyGram, Wise, crypto), each with its own configurable fee.

Tenancy, roles and modules

RIVER ERP lets one owner run several companies with per-company roles, from 15 built-in roles ranging from owner to driver. Its 23 modules are switched on or off per install, so a three-person shop and a multi-company group run the same build. Every change is written to an audit log, and personal data can be exported or erased on request.

Licensing, installs and upgrades

Both products use Ed25519-signed licence keys bound to a domain. ERPStore ships a web installer with idempotent migrations; version 26.6.6 was validated by upgrading a real database of 1,023 users, 354 orders and 483 payments with every record preserved.

Languages and currencies

ERPStore’s client portal runs in 32 languages with right-to-left support. RIVER ERP has complete French, English and Arabic interfaces and documents, multi-currency treasury, Moroccan DGI e-invoicing in UBL 2.1 and EU Factur-X.

AI features with privacy boundaries

RIVER ERP connects to 18 AI provider adapters, including Anthropic, OpenAI, Gemini, Mistral and local models through Ollama, with a privacy mode that redacts personal data. ERPStore’s assistant answers questions from anonymised aggregates only, on local or cloud models.

APIs and integrations

Customers expect a SaaS product to connect to the tools they already use. RIVER ERP exposes a REST API documented with OpenAPI 3.1, scoped API tokens and webhooks signed with HMAC-SHA256, plus 14 integration gateways including PayPal, Wise, Pipedrive, Zoho CRM, Slack, Zendesk, Mailchimp and Notion. ERPStore syncs clients with HubSpot and Twenty CRM, with a dry-run preview before anything is written. We design the API alongside the interface, so integrations are a feature from day one rather than a project bolted on after launch.

Architecture and stack

This is our default architecture for SaaS application development, with the product where each piece is already running:

Layer Our default Proven in
Product design Figma, token-based design system, light and dark themes RIVER ERP, ERPStore
Front end Vue 3 or React, TypeScript, Tailwind CSS v4, Vite RIVER ERP (Vue 3, TypeScript, Vite)
API and back end Laravel 13 on PHP 8.3, REST API documented with OpenAPI 3.1 RIVER ERP; ERPStore (PHP REST API, 76 endpoints)
Auth and permissions Session auth and scoped API tokens, role-based permissions, TOTP two-factor auth RIVER ERP (15 roles), ERPStore
Data and queues MySQL/MariaDB or PostgreSQL, Redis for queues, cache and sessions RIVER ERP, ERPStore (MySQL)
Billing Stripe, PayPal, regional gateways such as CMI, manual methods, dunning, PDF invoices ERPStore (10 methods), RIVER ERP
Email Transactional providers with health checks and fallback alerts ERPStore (6 providers)
Real-time and integrations WebSockets, HMAC-SHA256 signed webhooks, CRM sync RIVER ERP; ERPStore (HubSpot, Twenty)
AI Provider-agnostic adapter layer, local models, PII redaction RIVER ERP (18 adapters)
Apps PWA, Capacitor for iOS and Android, Tauri for desktop RIVER ERP
Quality and delivery PHPUnit, Vitest, Playwright, static analysis, GitHub Actions CI RIVER ERP (965 PHPUnit files, 381 Vitest specs), ERPStore

We adapt the stack to your team. If your engineers already run Node.js or a different cloud, we design around it rather than forcing a rewrite.

Proof: two products we designed, built and run

ERPStore is a self-hosted subscription store, billing and CRM platform for digital-service resellers. It has 126 routes, 76 API endpoints, six email providers with failover alerts, a client portal with wallet, referrals and 2FA, and a CRM-first admin dashboard. It has shipped continuously since July 2025 and is now at version 26.9.1.

RIVER ERP is a Morocco-first ERP built on Laravel 13, Vue 3 and Tailwind v4, with 23 modules across 12 suites and 154 screens. It covers sales and purchase documents, accounting on the Moroccan chart of accounts, POS, stock, production and payroll, and ships as a web app, a PWA, Capacitor mobile wrappers and a Tauri desktop app for macOS, Windows and Linux. It is at version 27.0.1, with a live instance at river.mrzakaria.com.

How a SaaS build runs

A typical engagement with our SaaS product development company follows five phases inside 8–16 weeks:

  1. Discovery and scope (weeks 1–2). Users, pricing model, billing rules, tenancy and roles, and a first release small enough to ship.
  2. UX and design system (weeks 1–4). Flows, prototypes and tokens, led by our UI/UX design practice.
  3. Core build (weeks 3–12). Auth, roles, billing and the core workflows, with a working increment and a Loom walkthrough every Friday.
  4. Hardening (weeks 10–14). Automated tests, two-factor auth, rate limiting, backups, error monitoring and a health endpoint.
  5. Launch and iteration (weeks 12–16). Production deploy, monitoring, then a retainer for the next releases.

If your product is closer to an internal back office than a subscription product, see custom ERP development.

Choosing a SaaS development company

Whichever SaaS development company you choose, ask these questions:

  • Have you shipped billing code? Ask to see refunds, failed payments and invoices, not only a checkout page.
  • How do upgrades work with real data? Migrations that run on an empty test database prove little.
  • Who designs, and who signs off? Separate design and development vendors often argue over the gaps between them.
  • What is the working rhythm? You should see working software weekly, not at the end of a phase.

At RAIN, one senior lead owns your product, you get one Slack channel and a Loom update every Friday, and a human reviews every deliverable. We work in English and French, on GMT+1 for most of the year; our nearshore development page explains how that fits European and US teams.

Pricing

  • Custom fixed-scope platforms start at $10,000, priced after scoping.
  • Growth retainer, $7,500 per month: 45 hours, two active projects, twice-weekly syncs, 24-hour response.
  • Scale retainer, $15,000 per month: 100 hours, unlimited active projects, daily syncs, same-day response.

See the full plans in our pricing section. Kick-off happens within 3–5 business days of signature.

Start your SaaS build

If you have a SaaS idea, an MVP that needs rebuilding, or a product that has outgrown its first developer, book a free 15-minute call. We will walk you through ERPStore or RIVER ERP, ask about your billing and roles, and tell you plainly what a first release would take.

Frequently asked questions

At RAIN Design Studio, SaaS development services cover product discovery, UI/UX and a design system, front-end and back-end development, subscription billing, roles and permissions, testing, deployment and post-launch support. One senior team handles design and engineering, so the product is designed with its billing, permissions and edge cases in mind.

A custom SaaS platform typically takes 8–16 weeks from kick-off to a production launch, depending on billing complexity, integrations and the number of user roles. We agree a first release scope that is small enough to ship and learn from, then extend it on a monthly retainer.

Fixed-scope custom platforms start at $10,000, and most SaaS builds are priced after a scoping session. After launch, products are usually developed on a retainer: Growth at $7,500 per month for 45 hours or Scale at $15,000 per month for 100 hours. All prices are in USD.

Our default is Laravel and PHP on the back end, Vue 3 or React with TypeScript and Tailwind CSS on the front end, and MySQL or PostgreSQL with Redis for queues and cache. When the product needs apps, we add a PWA, Capacitor for iOS and Android, and Tauri for desktop. This is the stack behind RIVER ERP; ERPStore uses Vue 2.7 with a PHP REST API and MySQL.

Yes. ERPStore supports 10 payment methods: PayPal, Stripe, Paymentwall, Payssion and Whop through APIs, plus bank transfer, Western Union, MoneyGram, Wise and crypto with manual confirmation. RIVER ERP integrates Stripe Connect and CMI, the Moroccan card gateway.

Yes. RIVER ERP connects to 18 AI providers through one adapter layer, including local models via Ollama, and has a privacy mode that redacts personal data. ERPStore's assistant answers business questions from anonymised aggregates only. We choose providers and data boundaries with you before building.

For client projects, ownership and access are agreed in the contract before kick-off, and we can work inside your own repositories and cloud accounts. ERPStore and RIVER ERP are RAIN's own products and are licensed separately.

Let's build what's next.

Custom projects from $10,000, monthly plans from $7,500. Kickoff within 3–5 business days.