LiveLive, private repoTrilingual CMS and commerce platform / Mar - Sep 2026
Problem
The agency needed to run its own content, services, intake forms, careers and store without a developer in the loop — in three languages, under Algerian data protection law, and on infrastructure it owns rather than rents abroad.
Solution
A NestJS API with separate public and admin surfaces over one Prisma schema, a Refine backoffice for staff, and a Next.js public site. Service intake forms are authored by admins and frozen as immutable schema versions, so a form can change without invalidating the requests already answered against the previous shape.
Key Features
Admin-authored service intake forms: steps and fields defined in AR/FR/EN, frozen as an immutable ServiceFormVersion, and rendered as a multi-step wizard the frontend never hard-codes
Every submission records the schema version it answered, so changing a form never orphans the requests already collected against the old one
Google Sheets sync with per-row status, attempt counts and retry-with-backoff; a column-shape change spawns a new version and its own service-vN tab
Two API surfaces over one schema: open and throttled at /api/public/*, JWT cookie plus CSRF at /api/admin/*
Arabic as the default locale with RTL as the base case, and a language-aware fallback chain when a translation is missing
Algerian localisation as a constraint, not a translation: DZD pricing, wilaya and commune data, local phone validation, CCP and BaridiMob payment methods
Cookie consent gated on Algerian Law 18-07, with analytics and ad pixels loading through GTM only after the matching category is accepted
Hardening pass before launch: request timeouts, a global error boundary, on-demand revalidation, image optimisation, and accessible names on every icon-only control