Apple and Google Wallet passes. Ibiza on its own Stripe entity. Documentation done 10 days early.
Sep 2026 · age 24
Training Academy. The Dose Kitchen site live. 558 links migrated. AI CCTV built.
10 months · 30+ systems · 3 brands · 2 countries · 1 architect
Selected work
Things I built that are still running.
case study · SEVEN · 2025–now
One architect. Thirteen systems.
Hover or tab through a system to see what flows.
The mess
A five-year-old Zoho estate, 250 paid seats, and every system wired straight into the CRM. Expired members were still getting through the gates.
What I did
Built the middleware layer between the clubs' systems and the CRM. Rebuilt the CRM's schemas, workflows and credit modules, and fixed access control at the gates.
What changed
Seats down from 250 to 50, about AED 1.1M a year. One architecture across 13 organisations, 120,000 records and 15,000 active users.
CRM seats
250 → 50
saved every year
AED 1.1M
member records
120k
Zoho organisations
13
Zoho One
Node.js
NestJS
Stripe
Foodics
Technogym
Gantner
In the lab · built, not launched yet
AI CCTV analytics (517 tests)
Finance AI tools
case study · SEVEN+ app · 2026
Fifteen thousand members. One app.
Book a class
Class detail
Checkout
The mess
The members’ app had grown feature by feature on top of a fragile backend.
What I did
Rebuilt the Flutter app with the mobile team, then shipped what members asked for: Apple and Google Wallet passes, in-app contract signing, smarter class booking.
What changed
One app for every club, on a backend with 1,228 automated tests.
active users
15k
backend tests
1,228
members provisioned into Technogym in one run
7,332
Flutter
NestJS
Stripe
Apple Wallet
Google Wallet
In the lab · built, not launched yet
Apple Watch companion app
Wearable tracking
NFC class check-in
case study · member web apps · 2026
Fourteen apps. Built in-house.
join.seven.club
join.graywellness.com
insights.seven.house
15kactive users
120krecords
13zoho orgs
Membership health
Class fill
F&B sales
The mess
Sign-up, member self-service and reporting lived in different tools for every brand.
What I did
Built the web layer: visit, join and members portals for SEVEN and Gray, a retreat booking site, a partner portal, a franchise Training Academy and a live operations dashboard.
What changed
About 14 apps and sites shipped, 7 of them live and member-facing. 558 short links moved in-house.
apps and sites built
14
live and member-facing
7
links migrated
558
Next.js
Node.js
Stripe
Apple Pay
Zoho CRM
case study · The Dose Kitchen · 2026
A kitchen, wired end to end.
thedose.kitchen
Delivery orders into the kitchen. Deliverect integration in progress.
The mess
A new food brand needed ordering in rooms, in an app and through delivery partners, without a second kitchen system.
What I did
Designed the 56-screen Flutter app front end, built a NestJS backend with 400 tests, launched the new site, and is wiring delivery orders through Deliverect into Foodics.
What changed
thedose.kitchen is live, and the app and backend are with the mobile team.
app screens
56
backend tests
400
Flutter
NestJS
Webflow
Foodics
Deliverect
AI & automation
Systems that run themselves.
8 running in production. 5 more in the lab.
AI · Weekly
AI support grader
Scores every support conversation against the SOP and emails the team leads a report. 83 reports so far.
Conversations
AI grading
Weekly report
● Live
Automation · Nightly
Foodics → Zoho Books
Restaurant sales post into the books every night, for two entities.
Foodics POS
Nightly sync
Zoho Books
● Live
Automation · Nightly
Gate auto-fix
Keeps physical access control in step with memberships, every night.
Memberships
Nightly audit
Gates in sync
● Live
Automation · Daily
Credit reconciliation
476 corrections across 253 credit buckets — then it kept going on its own.
Bookings
Daily check
Credits right
● Live
Automation · Daily
Daily sales report
The day's sales, reconciled against finance's numbers, in the inbox every morning.
POS + CRM
Reconcile
Morning report
● Live
Automation · Mondays 09:00
Weekly stock report
Shop inventory delivered to the brand team every Monday morning.
Inventory
Spreadsheet
Brand team
● Live
Automation · One run
Technogym provisioning
7,332 members provisioned into their training app in one migration window.
CRM members
Provision
Technogym app
● Live
Automation · Always on
Link platform
558 short links moved in-house; 85 app links routed through AppsFlyer.
Short link
Router
App or web
● Live
AI · Built
AI CCTV analytics
Video analytics for the clubs, with 517 automated tests.
Cameras
AI models
Ops alerts
In the lab · built, not launched yet
AI · Shadow mode
Back-office AI agent
Drafts replies for the support team while running in shadow mode.
Ticket
AI draft
Staff review
In the lab · built, not launched yet
AI · Built
Finance AI tools
Read-only tools that answer finance questions straight from the books. 136 tests.
Question
AI + books
Answer
In the lab · built, not launched yet
AI · Built
AI concierge
A members' concierge that answers questions about the club.
Member asks
AI concierge
Answer
In the lab · built, not launched yet
AI · Built
Crypto trading agent
An automated crypto trading agent, with 208 tests.
Market data
Strategy
Orders
In the lab · built, not launched yet
Founder
Companies I own.
I've never had just one job.
Software company · est. 2022
Cedar Vision
A blockchain charity token that funded a mental-health institution in Canada, a print management system, and a crypto payment gateway — in stealth 🔒.
Active
Resume studio
ResumeMe
Resumes that get people hired — clients placed within about ten days.
Active
Social media agency · est. 2023
Speedy Assist
Strategy, content and account management for brands across Instagram, Facebook and LinkedIn.
Active
Fashion e-commerce · at 19
Lebanons Play
~$12,000 a month through the Lebanese financial crisis.
Exited
E-commerce · at 21
Uaes Candy Shop
Confectionery e-commerce at 300% margins, with Amazon FBA alongside it at ~AED 15K a month.
Exited
Jewellery · at 17
Jewellery studio
Designed, produced and sold an independent jewellery line.
Exited
The numbers
Zoho organisations, one architect
13
saved every year
AED 1.1M
CRM seats
250 → 50
member records
120k
active users
15k
members provisioned in one run
7,332
backend tests
1,228
Zoho One
Flutter
NestJS
Node.js
Next.js
Astro
Stripe
Apple Wallet
Foodics
Deliverect
Technogym
Gantner
AppsFlyer
Webflow
GSAP
Claude
Field notes
Bugs worth telling you about.
Anyone can list a stack. These took actual detective work.
Payments
The upgrade that never charged VAT
Every subscription upgrade was under-charging. Upgrade quotes were computed exclusive of VAT while renewals were inclusive — and the amount sent to the payment provider was supplied by the client rather than recomputed on the server.
The trap was the evidence: one tier looked clean, so the theory became "it only affects some plans." It didn't. That invoice had been edited before I compared it. An invoice is not independent evidence — you have to check who last modified it.
Fixed: quote made VAT-inclusive, tax applied after discounts, and the bypassed payment-verification step replaced with a real server-side amount guard. Shipped without needing a client release.
Distributed time
Bookings two hours in the past
Members at the Spanish club were losing their cancellation window early. Club-local wall-clock times were being stamped with the head-office UTC offset, so every booking was stored two hours early — three in winter.
It had been invisible for months because the display layer compensated in the opposite direction. The app looked correct. A naive wall clock is safe right up until something compares it against real elapsed time.
Fixed at the storage boundary and deployed to production.
Revenue
A discount rule nobody was reading
Coupons carried a plan-scope restriction, configurable in the admin UI, that no code path ever checked. Staff had been setting it for months believing it was enforced. It was decoration.
Gap identified, revenue exposure quantified, enforcement shipped across both the purchase and the upgrade flows.
Hire me
Your company could be age 25.
Open to a full-time remote role, with selected freelance work alongside it. Based in Dubai. Fastest on email or LinkedIn.