All Work
Case Study/questos
2026·ERP / Internal

QuestOS

A bilingual, Arabic-first ERP + CRM for MENA SMEs — finance, people, sales and service in one tenant, with a game layer that keeps teams moving.

RoleFounder · Principal Architect · Full-Stack
Year2026
CategoryERP / Internal
Stack
Next.jsReactTypeScriptPostgreSQLRedisTailwind CSSPrismaNode.jsZATCABullMQRow-Level Securitynext-intlDockerCloudflareFigma
Visit Live Site
№ 012026
erp
questos-cover-dark[1].png
01

Small businesses in Saudi Arabia and Egypt run on a patchwork: invoices in one tool, leads in a spreadsheet, HR on paper, and an accountant who reconciles it all at month-end. The products built for them are English-first with Arabic bolted on, so the layout mirrors badly, names truncate on the wrong end, and the numbers arrive in the wrong calendar. Regulation adds a floor nothing can fall through — ZATCA e-invoicing sequences, period locks, VAT returns — and multi-tenancy adds a wall: one tenant must never see another's row, not through a bug, not through a URL. The hardest constraint was human: a system this broad only works if every automated action stays visible, reversible and overridable by the person running the business.

02

One Next.js codebase, one Postgres, one rule: the database enforces the tenant. Every table carries a tenant id and Postgres Row-Level Security refuses cross-tenant reads before application code runs; 109 automated gates check the codebase on every commit — token bindings, bidi isolation, Arabic coverage, page reachability, role floors. Arabic is the first language, not a translation layer: 7,700 message keys, logical CSS properties throughout, and names that keep their own direction inside a mirrored layout. Finance posts to a real general ledger with period locks, ZATCA-compliant numbering, accounting-style statements and a tenant-visible audit trail that records who, what, when and from where. A recycle bin with 30-day retention makes removal reversible, and asks before cascading. A quest-and-XP layer turns the daily grind — follow up the lead, clear the worklist — into visible progress, without ever deciding on a person's behalf.

03·Value & Metrics

Manual friction, automated away.

Each row contrasts the manual bottleneck against the optimized pipeline — the real efficiency gain, not a generic claim.

Month-end picture
The Manual Bottleneck

Reconciled by an accountant from 4 tools

The TFM·HQ Solution

Live cash flow, P&L and balance sheet from one ledger

Who changed this invoice?
The Manual Bottleneck

Nobody could say

The TFM·HQ Solution

Name, time and IP on the record itself

Removing a client by mistake
The Manual Bottleneck

Permanent

The TFM·HQ Solution

30-day recycle bin; restored with its contacts and deals

Arabic UI quality
The Manual Bottleneck

Mirrored layout breaks names and numbers

The TFM·HQ Solution

Bidi-isolated names, tenant-day dates, one gate per rule

Core capabilities.

The specific features that make the difference — built in, not bolted on.

01

Arabic-first, truly bilingual

Mirrored layout with names and numbers that keep their own direction.

02

Database-enforced tenancy

Row-Level Security refuses cross-tenant reads before any code runs.

03

Real general ledger

Period locks, ZATCA-compliant numbering, accounting-style statements, print.

04

Tenant audit trail

Who did what, when and from which IP — append-only, visible on every record.

05

Reversible by design

A recycle bin that asks before cascading and restores groups together.

06

Quests and XP

Daily work becomes visible progress; the system never decides for a person.

04·Gallery
08 frames

Shown uncropped · click any frame to view it full size

01Audit Log
02Recycle Bin
03General Ledger
04Team Chat
05Finance Dashboard
06Tasks
07Crm Leads
08Dashboard
05·Outcomes

Admin pages, all bilingual

140

Automated quality gates per commit

109

Tests in the suite

2,700+

Message keys, Arabic-first

7,700

Tenant isolation

Enforced in the database

Initiate · Direct

Direct Contact

Send a message. Replies within 24 hours, in any timezone.

No mailing list. No follow-up sequences. Direct reply only.