One kitchen.
Every platform
you'll ever sell.
A unified delivery engine that runs your own operations and every client portal Semity sells — built once, priced by the hour, scaled forever.
You run two companies that need the same spine.
Semity delivers marketing excellence across 500+ clients. Sajel connects Jordan's workforce with its employers. Both need the same operational core — but today, neither has one.
Semity — the Marketing Agency
You're positioned as a growth partner. But today, every client engagement lives in spreadsheets, WhatsApp threads, and scattered tools. You sell strategy — you don't yet sell platforms. There's a missing product layer between your consultancy and your client's success.
Sajel — the Jobs Platform
The platform exists. It works. But it's operating at 6 job seekers, 3 companies, 8 positions. To reach national scale, Sajel needs an ERP backbone: onboarding, HR flows, payroll for NEP stipends, CRM for employer relations, and finance that CFOs can audit.
What's missing today
A shared operating system
Every internal process reinvents itself in each tool. Time is leaking.
A product Semity can sell
Marketing services are capped by your hours. Platforms aren't.
Scale infrastructure for Sajel
NEP and employer growth need multi-tenant billing, reporting, and compliance.
I'm not your vendor. I'm your kitchen.
You keep the storefront. I run the kitchen behind it. Every dish Semity sells, every plate Sajel serves — same stoves, same recipes, same quality — prepared by one team, branded for whoever's eating.
How it works
- Sells to clients
- Owns relationship
- Sets the price
- Core platform
- Delivery engine
- Per-hour pricing
- Branded per tenant
- Isolated data
- Shared upgrades
Build once
The core platform is built one time. Every new client portal reuses 85% of the code — only branding and business rules change.
Margin compounds
Your first client costs you 525 JOD. Your tenth costs you 350. Your hundredth is nearly pure margin.
You own the storefront
Clients see Semity. Contracts are yours. I stay behind the scenes — a technical co-founder on retainer.
Multi-tenant core. Per-client skin.
One codebase, one database cluster, one deployment pipeline — serving any number of tenants, each with their own brand, URL, users, and data isolation.
Core Stack
Backend — Node.js · PostgreSQL · Redis · S3
Frontend — React · Tailwind · Tanstack Query
Infra — AWS (Frankfurt) · Docker · GitHub Actions
Auth — JWT + multi-tenant RBAC · 2FA
i18n — Arabic & English (RTL-safe)
Tenancy Model
Row-level isolation — every record stamped with tenant_id; RLS enforced at the database layer.
Subdomain routing — client.semity.app resolves to their branded portal.
Per-tenant branding — logo, palette, typography, copy — all configurable from a single admin panel.
Six modules. One platform.
Each module stands alone. Together, they cover 90% of what Semity and Sajel — and any client you onboard — will ever need.
ERP — Finance & GL
- Chart of accounts (JOD-ready)
- Invoicing & receivables
- Expenses & payables
- Tax & VAT reports
- P&L · Balance Sheet · Cash Flow
HR & Payroll
- Employee records & contracts
- Attendance & leaves
- Payroll (incl. NEP stipends)
- Performance reviews
- Self-service portal
CRM
- Contacts & companies
- Pipeline & deal stages
- Activity log & reminders
- Email & WhatsApp integration
- Reports per owner / stage
Task Manager
- Projects, boards, lists
- Assignees, priorities, due dates
- Comments & attachments
- Time tracking per task
- Recurring tasks & automations
Jobs Platform (Sajel)
- Job seeker & employer portals
- Smart matching & filters
- NEP stipend tracking
- Training programs & certs
- Analytics for ministry reporting
White-Label Client Portal
- Per-tenant branding & domain
- Module toggling per client
- Usage billing & Semity markup
- Client admin dashboard
- 1-click spin-up from template
Click through it. This is the real feel.
Below is a working demo concept — switch modules, hover rows, change tenants. Data is sample, UI is production.
⌘ This demo runs entirely in the page. In production, every module is backed by PostgreSQL, authentication, role permissions, and per-tenant data isolation.
45 days to live. 120 to full kitchen.
Three phases, each delivering something usable and paid for. No waterfall, no six-month silence.
Core + Sajel MVP
Platform core, design system, Finance, HR, and Sajel upgrade go live. Your own books and hiring flow run on the new system by day 45.
CRM + Tasks + Semity Ops
Semity's delivery team moves fully into the system. CRM tracks every client, Tasks replaces the scattered boards, everything visible to you in one view.
White-Label · First Semity Client Live
The kitchen opens for business. White-label framework ships, billing connects, and your first Semity client is onboarded as a paying tenant.
Two cycles. One rhythm. Zero confusion.
Every engagement with me runs through one of two flows — internal work (for your companies) or client work (for Semity's clients). Here's exactly what happens from the moment you send a WhatsApp to the moment it's live.
A Internal work — Sajel or Semity ops
Something Firas's own team needs. Small or big.
Firas sends a WhatsApp
"I need an expense report for Q1" · "Sajel signup page has a bug" · "Add a new role to HR"
I reply within 24 hours
I classify: small (covered by retainer, done this week) or big (I quote hours + cost, you approve before I start).
I build · Mon → Wed
Code goes to a private GitHub branch. You can watch commits if you want. I don't disappear — Slack/WhatsApp is always open.
Thursday 6 PM · 30-min demo
Every week. Screen share, live demo, you test, you give feedback. If you say "ship it" — it's live Friday morning.
Monthly invoice & roadmap
End of month: one clean invoice (retainer + any extras). Roadmap review for next month — we plan together.
B Client work — Semity lands a new client
A Semity client wants their own branded platform. This is where the margin engine kicks in.
Firas is pitching a client
Gym, clinic, bakery, logistics co. They need HR + Tasks, or full ERP. Firas says: "let me show you our platform" and opens the demo.
Firas sends me the client brief
"Client: Al-Bustan Bakery. Modules: HR + Tasks + CRM. Branding: green/gold. Domain: bustan.app". I send back a quote within a day.
Firas closes the deal
Client signs contract with Semity. Firas's name, Firas's price (e.g. 3,500 JOD + 250/mo). I'm invisible to the client.
Firas pays me my cost · I start
I spin up the new tenant in 3–5 days: new subdomain, database, branding, modules configured, user accounts created.
Firas demos to client · they sign off
Client gets their login, walks through their portal, loves it. Firas trained them in 30 min. Platform is live.
Recurring revenue forever
Client pays Semity monthly (e.g. 250 JOD). Semity pays me a small slice from retainer. Pure recurring margin for Semity, for life.
The weekly rhythm
Who owns what
| Firas owns | I own |
|---|---|
| Client relationships | All code & infra |
| Sales & pricing | Hosting & uptime |
| Contracts with clients | Build & deploy |
| Semity brand | Bug fixes & support |
| Direction & priority | Technical decisions |
The tools we'll use
- WhatsApp — daily chat, urgent stuff
- GitHub (private) — all code, you own it
- Linear / Notion — shared roadmap
- Figma — UI reviews before coding
- Google Meet — Thursday demo calls
One simple rule: Firas is the face. I am the hands. He never gets stuck waiting — because the only person he needs to talk to is me.
Transparent. Hourly. Built for Jordan.
Everything below is priced at 15 JOD / hour — a fair, local rate. I'm able to quote tight hours because I build with AI-accelerated tooling: what used to take a team 1,000 hours, I deliver in 500 — same quality, half the cost passed to you.
Start where your comfort is
Three clear doors in. Start small and grow, or go all-in from day one.
① Quick Start
- Platform core (auth, DB, hosting)
- Pick ONE module: HR, Tasks, or CRM
- Launched and used in 3 weeks
- Optional retainer: 250 JOD / mo
- Can upgrade to Growth anytime
Or pay 3 × 500 JOD monthly.
② Growth
- Platform + design system
- Finance · HR · CRM · Tasks
- Live in 6 weeks
- Retainer: 350 JOD / mo
- Easy upgrade to Full Kitchen
Or pay 6 × 750 JOD monthly.
③ Full Kitchen
- All 6 modules + Sajel upgrade
- White-label framework for Semity clients
- Retainer: 375 JOD / mo
- Per-client spin-up: 525 JOD cost
- Resell clients at 1,500–2,500 JOD
Or pay 6 × 1,250 JOD monthly.
A · Full Kitchen — detailed hours
So you see exactly where every hour goes in the full package.
| # | Service | Hours | Rate | JOD |
|---|---|---|---|---|
| 01 | Platform CoreAuth, multi-tenant foundation, database, infra setup | 40 | 15 | 600 |
| 02 | Design System & UI KitComponents, tokens, RTL-ready, reusable across tenants | 30 | 15 | 450 |
| 03 | ERP — Finance & GLAccounts, invoicing, expenses, reports | 70 | 15 | 1,050 |
| 04 | HR & PayrollEmployees, attendance, payroll, self-service | 55 | 15 | 825 |
| 05 | CRMContacts, pipeline, activities, integrations | 45 | 15 | 675 |
| 06 | Task ManagerBoards, tasks, time tracking, automations | 35 | 15 | 525 |
| 07 | Jobs Platform (Sajel)Upgrade, matching, NEP, employer tools | 60 | 15 | 900 |
| 08 | White-Label FrameworkMulti-tenant branding, billing, 1-click spin-up | 75 | 15 | 1,125 |
| 09 | Testing, QA, SecurityAutomated tests, penetration scan, audit logs | 20 | 15 | 300 |
| 10 | Deployment, Training, HandoverProduction launch, team training, documentation | 20 | 15 | 300 |
| Sub-total · Full Kitchen | 450 | 15 | 6,750 | |
| Partnership margin (~10%) | — | — | 750 | |
| Full Kitchen — one-time | 500 hrs | — | 7,500 JOD |
💡 Installments available. Pay 6 × 1,250 JOD monthly. No interest, no surprises.
B · Monthly Retainer · Keep the Kitchen Running
| Service | Hours / mo | Rate | Monthly (JOD) |
|---|---|---|---|
| Hosting, monitoring, backupsAWS, uptime monitoring, daily backups, incident response | 8 | 15 | 120 |
| Support & bug fixesWhatsApp channel, 24-hour response, same-week fixes | 7 | 15 | 105 |
| Feature iterationSmall enhancements, copy changes, new reports, config | 10 | 15 | 150 |
| Retainer — billed monthly | 25 hrs | 15 | 375 JOD / mo |
Less than the cost of one junior admin — replaces hosting, developer on-call, and a feature team. Unused hours roll over 1 month.
C · Per-Client Spin-Up · Your Margin Engine
Client pricing is modular. Each client picks only what they need. You pay me per module, Firas marks up and resells the bundle.
Base tenant setup — required for every client
| Included | Hours | Rate | Cost (JOD) |
|---|---|---|---|
| Tenant provisioningSubdomain, database, SSL, storage, email | 8 | 15 | 120 |
| Branding & admin usersClient logo, colors, domain, admin accounts | 5 | 15 | 80 |
| Base tenant | 13 hrs | 15 | 200 JOD |
Per-module pricing — add as many as the client needs
Real examples — what a client deal looks like
| Client Type | Modules | Your Cost | Resell To Client | Your Margin |
|---|---|---|---|---|
| Small · Bakery / Café | Base + HR + Tasks | 800 | 2,500 – 3,000 | 1,700 – 2,200 |
| Medium · Clinic / Gym | Base + HR + CRM + Tasks + Finance | 1,500 | 4,000 – 5,500 | 2,500 – 4,000 |
| Large · Logistics / Retail chain | Base + all 6 modules + custom | 2,400 | 6,500 – 9,000 | 4,100 – 6,600 |
| Enterprise · Bank / Ministry | Custom full build + integrations | 4,000+ | 12,000 – 25,000 | 8,000 – 21,000 |
Plus recurring monthly hosting per client
| Client tier | Your cost / mo | Resell to client / mo | Recurring margin / mo |
|---|---|---|---|
| Small (1–2 modules) | 60 | 150 – 250 | 90 – 190 |
| Medium (3–4 modules) | 100 | 250 – 400 | 150 – 300 |
| Large (5+ modules) | 150 | 400 – 700 | 250 – 550 |
This is the real money. Ten medium clients = 2,250 JOD/month recurring margin, forever.
Break even in 3 clients
At 4,000 JOD average resale for a medium client, 3 Semity deals cover your full 7,500 JOD setup. That's 3 deals — one month of focused sales.
12 clients = 38,000+ margin
Year 1 at 12 medium clients: ~36,000 JOD one-time margin + ~27,000 JOD recurring (over 12 months).
The compounding lever
Every client you onboard stays paying. By year 3 the recurring alone pays my retainer, your team, and then some.
D · Flexible engagement
Not ready to commit to a package? Two extra ways to work together:
Hourly — pay as you go
15 JOD / hr, weekly invoice. No package, no commitment. Perfect for one-off fixes, experiments, or small internal tools. Minimum 10 hrs per engagement.
Equity / Hybrid partnership
If you want to go deeper: reduced cash setup in exchange for 5–15% revenue share on the platform. Technical co-founder positioning. Negotiated case-by-case.
What you pay vs. what you save & earn.
Numbers are pretty. Returns are prettier. Here's the full economic picture — what the platform replaces, what it saves monthly, and what it earns you over 12 months.
A · What the Kitchen replaces
Right now you're paying for scattered SaaS tools, contractors, and wasted hours. This is what that actually costs each month.
| Tool / Role being replaced | Current cost / mo | Kitchen covers it? |
|---|---|---|
| Accounting SaaS (QuickBooks, Zoho Books) | 80 | ✓ |
| HR tool (BambooHR, Zoho People) | 100 | ✓ |
| CRM (HubSpot Starter, Pipedrive) | 90 | ✓ |
| Task / Project tool (Asana, Monday) | 60 | ✓ |
| Forms / surveys (Typeform) | 30 | ✓ |
| Recruiter / ATS (for Sajel) | 120 | ✓ |
| Freelance developer · on-call fixes | 500 | ✓ |
| Total current monthly burn | 980 JOD | — |
| Kitchen retainer (Full) | 375 | — |
| Monthly savings | 605 JOD | = 7,260 / year |
The platform pays for itself in 12.4 months from operational savings alone — before you sell a single Semity client on it.
B · What the Kitchen earns — Semity resale engine
Conservative 12-month projection: Firas onboards 1 new Semity client per month starting month 4. Each client is a medium tier (4,000 JOD setup + 250/mo recurring).
Red = investment phase. Orange = cumulative profit. Break-even month 6. End of year 1: +22,000 JOD cumulative margin from Semity resale alone (not counting operational savings above).
C · The big picture — Year 1 at a glance
D · Year 2 and beyond — the compounding
Recurring revenue stays
All 12 clients from year 1 keep paying ~250 JOD/mo. That's 36,000 JOD/year of recurring revenue — before you add a single new client.
Setup already paid
No more 7,500 JOD setup cost in year 2. Just retainer (4,500/yr) + per-client spin-ups — your margin doubles.
You're a product company
Semity stops being capped by consulting hours. You sell a product. Investors value product companies at 10–30× revenue. Agencies? 1–3×.
Day-45 guarantee.
If Phase 1 hasn't shipped something real and usable by day 45 — you're not paying the remaining 60%. I eat the cost. This isn't marketing; it's me putting my skin in the game. I've never missed a Phase-1 deadline. I don't plan to start with you.
One builder. One phone number. Every commit.
I'm a solo developer with an AI-accelerated stack. No agency overhead, no account manager, no handoffs. You text me — I ship. The platform you're paying for is built by the person you're talking to.
Photo Booth SaaS
Full SaaS photo-booth platform. DSLR capture, AI processing, print fulfillment, multi-branch operations — shipped solo.
Amreen Sign
Mobile-first ERP for a signage company. PWA, offline-capable, Arabic-first, end-to-end job tracking.
Uzungöl Bath POS
Full POS on EC2, Route 53 DNS, real-time reservations, payments, reporting for a Turkish bath business.
Onneta
AI business operator spinning up branded platforms per client via GitHub. Literally the "kitchen" model already running.
Frankfurt EC2
One shared AWS server hosting 20+ client sites. Operational for 2+ years, <5 min deploy cycles, 99.9% uptime.
TEDx Speaker
Public speaker on the future of creative production. Comfortable with stakeholders, CFOs, and ministries.
What you get that agencies can't give you
One throat to choke
No account manager. No handoffs. You text me — I ship.
Arabic-first, not Arabic-later
RTL, i18n, ministry compliance baked in — not bolted on at the end.
Your code is yours
Private GitHub repo per tenant, you own every commit, no lock-in.
Four steps. One week. Then we build.
Review & comment
You review this proposal. Flag anything unclear, push back on scope, suggest different modules. I expect edits — this is a starting point, not a contract.
Alignment call — 60 min
We walk through the demo together, lock the scope, agree on milestones, and I write up the final SOW with fixed timelines and deliverables.
SOW + kickoff deposit
You sign. You pay 40% deposit (1,500 – 3,000 JOD depending on package). I provision infrastructure, open your GitHub org, schedule weekly demos — Thursdays at 6pm.
Build in public — with you
Every Thursday you see progress live. No "it's almost done" emails. Phase 1 ships in 45 days, you use it internally, and we go from there.
Ready to open the kitchen?
If the math makes sense and the plates look right, the fastest way is to grab 60 minutes this week and lock the scope together.
Book the alignment callPrepared by Majdi Al-Qudah · Solo Developer · AI-Accelerated Delivery · 15 April 2026 · Proposal valid 30 days · All figures in Jordanian Dinar (JOD)