Work What we do Français Book a call

Portfolio 2026 · Marrakesh & Casablanca

What we have built

Six projects. And more to the point, what sits underneath them.

Anyone can ship a website. What sets us apart is the part a screenshot never shows: a booking and payment engine written from scratch instead of a rented plugin, a shopping centre floor plan rendered in isometry from a rebuilt tenant database, a business application reconstructed without a single line of the original code. Here is the detail.

6projects
4in production
0third party booking plugin
9 weeksfrom scoping to AI pilot

01 · Work

The detail, not the shop window.

For each project: what the client had, what we built, and the technical constraint we had to clear.

01 / 06 Education · Morocco In production

mathtutor.ma

A booking and payment engine written from scratch, with no third party application involved.

The website is the visible part. The real work sits underneath it. The teacher could not register as a sole trader, which ruled out every paid booking service on the market, since they all require commercial KYC. So we built the chain ourselves. The parent books, automatically receives the bank details by email and WhatsApp, and makes a transfer. The teacher confirms payment with a single tap, from a signed link delivered on Telegram. The confirmation and the Meet link go out on their own straight after. Every call between the site and the orchestrator is signed with HMAC-SHA256, in both directions, and rejection of a forged token has been verified. If the orchestrator goes down, the site still answers the parent, so a booking is never lost. The card payment branch is already wired, dormant, ready for the day a processor becomes possible.

Third party apps
0, chain written end to end
Signing
HMAC-SHA256, in both directions
Payment confirmation
1 tap, signed link on Telegram
Fallback
booking kept even with the orchestrator down
Google rating
5.0 / 5

WordPress · Custom REST · n8n · HMAC · Telegram · Google Meet

Visit the site
mathtutor.maLive
Home page of mathtutor.ma, with the headline about tutoring for American and French curriculum students, a Google rating and years of experience.
02 / 06 Retail · Casablanca Concept delivered

Aeria Mall interactive map

A mapping application, not a picture of the centre.

The centre only had a printed plan, 1.65 metres wide. We turned it into an application. The three levels were redrawn as vectors and rendered in isometry, and the tenant database was rebuilt field by field: name, category, logo, position. A visitor searches for a shop from the keyboard, filters by category, moves between floors and zooms. Every unit carries its number on the plan, and the list and the map stay in sync. Pop up corners get their own treatment, because they change several times a year and should not be handled like a lease.

Levels
3 : ground floor, first and second
Tenants
37 on the ground floor, numbered on the plan
Filters
7 categories, from fashion to services
Pop up corners
9, handled separately from leases
Rendering
isometric, vector, no bitmap image

SVG · Isometric rendering · Rebuilt tenant database · Instant search

Centre plan · ground floorConcept
Aeria Mall interactive map: isometric view of the ground floor, numbered list of the 37 tenants, category filters and a level selector.
03 / 06 Education · SaaS · Morocco In production

Tarbawiyat suite

Three web applications, in a sector that still ships spreadsheets.

In Moroccan schools, day to day administration travels as spreadsheets: one sheet per task, passed from hand to hand, retyped at every step, until nobody knows which version is authoritative. The tools on the market simply produce one more. We took the problem from the other end, with three web applications that open in a browser with nothing to install, that administrative staff pick up without training, and whose data stays usable from one year to the next instead of dying in a workbook. The first replaces an ageing Windows program shipped as an executable, with an encrypted database and no source code available: we reconstructed it from the documentation and from analysis of the binary, without reusing a single line of the original. The second generates timetables: it wraps an open source optimisation engine and restarts the search until it finds a solution; when none exists, it names the overloaded teacher blocking the calculation instead of returning a silent failure. The third runs exam invigilation, several levels at once in a single centre, with dates and times pre filled from the official ministry calendar. All of it in Arabic, right to left.

Web applications
3 in production
Access
browser, nothing to install
Onboarding
no training, by administrative staff
Original code reused
0 lines, rebuilt from the binary
Timetables
retry until solved, then a named diagnosis
Exams
several levels at once in a single centre
Interface
Arabic, right to left

Next.js · Prisma · PostgreSQL · Docker · Moroccan VPS

Visit the suite
tarbawiyat.ma · emploi.tarbawiyat.maLive
Home page of the Tarbawiyat suite, in Arabic, presenting the three applications. Start screen of the Jadwala timetable generator, Arabic right to left interface.
04 / 06 Retail · Conversational AI Pilot scoped

Eden Bot

A shopping centre concierge that answers in four languages, on WhatsApp.

Moroccan visitors already message businesses on WhatsApp, so we went to meet them there rather than asking them to install anything. The concierge answers on tenants, opening hours, promotions, events and parking, in Darija, Arabic, French and English, and it replies in the language of the message it receives without being told which one. It does not write freely: its answers are grounded in the centre's own content, indexed in a vector database, which stops it inventing a promotion that does not exist. The language model sits behind an abstraction layer, so moving to a model hosted in Morocco, for a client who requires data sovereignty, is a configuration change rather than a rewrite. On the centre's side: no hardware, and no integration with the existing system.

Channel
WhatsApp Business Cloud API
Languages
4 : Darija, Arabic, French, English
Guardrail
answers grounded in the centre's own content
Sovereignty
model swappable by configuration
Hardware at the client
0
Scoping to pilot
9 weeks

WhatsApp Cloud API · Vector database · n8n · FastAPI · PostgreSQL

Eden BotOnline · replies in 4 min
Salam, wach Zara maftouha daba ?
Salam! Zara is open until 10pm, on level 1. Shall I give you directions from the main entrance?Centre opening hours
Yes please
Main entrance, then the central escalator, level 1 on your right. About a 2 minute walk.Centre plan
أين يوجد موقف السيارات؟
الوقوف مجاني خلال أول 90 دقيقة، والدخول من الشارع الخلفي.رد مستند إلى محتويات المركز
05 / 06 Retail · Marrakesh Rebuild delivered

Carré Eden Shopping Center

A diagnosis that traced back to one faulty line, then a full rebuild.

On the site in service, content stayed invisible on eleven pages and the menus collapsed on hover. Rather than treating the symptoms one by one, we looked for the cause: a single JavaScript error, thrown early in the page load, halted execution of everything after it and brought down the menu and the reveal animations at once. The audit ranked twelve defects, from the most critical to the most trivial, each with an estimated fix time. We then rebuilt the site: twenty one pages, navigation by category rather than an alphabetical list, and a catalogue of one hundred and seven tenants you can actually browse.

Defects ranked
12, costed in fix time
Root cause
1 error behind both visible failures
Pages rebuilt
21
Tenants catalogued
107, across three levels
Navigation
6 categories rather than a list

WordPress audit · Static HTML · Structured catalogue

Rebuild · home pagePrototype
Carré Eden site rebuild: the Carré Eden Shopping Center headline, a mention of 107 tenants and the grid of shopping categories.
06 / 06 Retail · Casablanca Live

Aeria Mall public website

The shop window that prepares the visit, wired to the interactive map.

The site answers the questions a visitor asks before travelling: what time it closes, which shops are there, what is on this weekend, where to park. The top banner carries the highlights of the week and is updated without going through us. The main call to action is not a form but "plan your visit", which goes straight to the centre plan. The interactive map becomes the front door rather than a secondary page.

Opening hours shown
9am to 11pm, every day
Main entry point
"Plan your visit" through to the map
Highlights
banner editable by the centre's team
Social channels
3 : Instagram, Facebook, TikTok

WordPress · Elementor · Art direction

Visit the site
aeriamall.maLive
Aeria Mall home page: large photograph, the Shop. Eat. Play. Repeat. headline and a Plan your visit button.

02 · What we do

Four ways to put us to work.

Each one has already shipped to production at least once. The proof is above.

Automate a business chain

Booking, payment, follow ups, confirmation: the run of steps that eats your days, written to measure and signed end to end. When nothing on the market fits your constraint, we build the rail instead of bending your business around it.

Proof · mathtutor.ma, zero third party apps

An AI agent that talks to your customers

On WhatsApp, where your customers already write. In Darija, Arabic, French and English, in the language of the message received. Grounded in your own content so it never answers off target, and designed so your data can stay in Morocco.

Proof · Eden Bot, pilot scoped in 9 weeks

A business web application

The spreadsheet your team has been passing around for years, turned into a multi user application that opens in a browser. Including when it means replacing an old program nobody has the source code for, and rebuilding the logic from what is left.

Proof · Tarbawiyat suite, 3 applications in service

Website, interactive map, rebuild

A shop window that prepares the visit, a centre plan you can genuinely manipulate, or an audit that traces back to the cause rather than the list of symptoms, before rebuilding.

Proof · Aeria Mall and Carré Eden

Tell us what is costing you hours.

One call is enough to know whether the problem can be solved. We come back to you within 24 hours with a clear idea of what we would do, and what we would not.