Ordering & Commerce
Take orders directly, without handing a cut to the delivery apps.
- Mobile storefronts
- Delivery & pickup checkout
- Live order dashboards
- Menu & stock admin
- WhatsApp ordering & alerts
- FR · AR · EN with RTL
Independent Engineering Studio — Morocco
I design and build ordering platforms, internal tools, AI automation, and the infrastructure under them — for Moroccan businesses, schools, and teams abroad.

I'm Mehdi Charouh — OMI. I understand complicated systems, simplify them, and turn ideas into products that work. This year that meant launching two OMI Solutions products — nanowrimo.ma, a trilingual writing platform with end-to-end encryption, and kdoub.ma, a real-time party game in English and Darija — and building ordering platforms for two restaurant clients, on top of years of internal platforms, infrastructure, and security work.
What that covers
Turning unclear ideas into structured, realistic product plans.
Complete applications across frontend, backend, databases, authentication, and deployment.
Interfaces that make complex systems easy to understand and operate.
Managing and automating large fleets of machines with Ansible and Linux.
Patching, hardening, and keeping systems healthy long after launch.
Explaining difficult technical ideas clearly, in writing and in person.
Interfaces in French, Arabic, and English — with right-to-left done properly, not bolted on.
Understanding complicated systems and extending them without breaking what already works.
OMI Solutions is a one-person studio by design. The person you talk to on the first call is the person who designs the architecture, writes the code, and answers for the result — no handoffs, no account managers.
I keep the studio deliberately small: a few projects at a time, with enough room to think about each one properly. Scope, architecture, design, and code all come from the same head, which is how the details stay coherent.
What I optimize for is the day after delivery — systems your team can operate, code the next engineer can read, and documentation that doesn't assume I'm in the room.
Most of what I build right now is for Moroccan businesses: ordering platforms for restaurants, storefronts that work in French, Arabic, and English, and internal tools that replace the spreadsheet and the WhatsApp group. I also take on work for teams abroad, especially in Europe — Casablanca is within an hour of most European time zones.
Principles
Background
* Based on the Arm Ambassador program at the time of joining.
Four areas of practice, one standard: systems that keep working after the handover.
Take orders directly, without handing a cut to the delivery apps.
Replace the spreadsheet and the WhatsApp group with software.
Put AI where it saves hours, not where it makes a demo.
Deploy, secure, and maintain the systems software depends on.
The same person carries the project from the first conversation to the running product — so nothing is lost between stages.
Learn the business, the users, the constraints, and the actual problem.
Every project starts with questions, not code: what the business does, who the users are, which constraints are non-negotiable, and which problem actually needs solving — not just the one first described. This stage ends with the problem written down in words everyone agrees on.
Turn the idea into a clear product scope, architecture, and roadmap.
The idea becomes a plan — what a first version includes, how the system is architected, what gets built first and why. You see scope, sequence, and trade-offs before anything is built, so cost never arrives as a surprise.
Create interfaces and workflows that make the system easy to use.
Screens, flows, and states are designed around your real content and workflows before implementation begins. Design is how a complex system becomes something people can operate without a manual.
Develop the frontend, backend, integrations, infrastructure, and automation.
Frontend, backend, integrations, infrastructure, and automation — delivered in working increments you can click through while it is still cheap to change direction. Working software, not slideware.
Test, secure, maintain, and evolve the product based on real usage.
Launch is the midpoint, not the end. The product is tested, secured, monitored, and evolved based on how people actually use it — and each iteration feeds the next.
You don't need to arrive with a complete specification. Part of the work is helping you turn an early idea into something clear, realistic, and buildable.
Newest first — two products the studio runs itself, a personal AI agent on WhatsApp, ordering systems for two restaurant clients, internal platforms, infrastructure at scale, and a filesystem built from scratch. Client work is described without exposing confidential details.
A Moroccan bluff-trivia party game in English and Darija. The TV asks a question, everyone writes a believable lie on their phone, then tries to find the truth among their friends’ inventions. No TV? Online rooms put every player on their own screen, with friends or with strangers.
Key contribution
I designed and built the whole game: a real-time server that paces every round across the TV and each phone, a library of more than 15,000 questions in 56 categories per language, a cast of 16 Moroccan characters who fill empty seats, Moroccan percussion on the TV, and a how-to-play video voiced in both languages. Behind it: unlock codes for premium categories, host kicks and vote-kicks, an admin panel for codes and reports, and a game socket hardened after a full security audit.
Built with
A home for Moroccan writers: pick a book, set a target, join a challenge, and watch the draft grow one day at a time. Built natively in English, French, and Arabic — with the whole interface mirrored right to left, down to the progress bars.
Key contribution
I designed and built the entire product: a writing room in the browser (binder, corkboard, outline, snapshots, DOCX/EPUB/PDF export), challenges with winner certificates, streaks and achievements, and end-to-end encryption so manuscripts are sealed on the writer’s device before they ever reach the server. Two TypeScript services over PostgreSQL and S3 storage, run in Docker on an ARM server I operate, behind the same HTTPS edge as kdoub.ma; every push to main releases itself.
Built with
AI Agent Engineering · Personal Project
In daily use on WhatsApp
A personal butler with her own WhatsApp number. Message her in English, French, or Arabic — text, a voice note, a photo, a PDF — and she answers, remembers what matters, and gets things done in the background: mail, calendar, files, a real browser, code, the computer on my desk. She asks before anything that matters.
Key contribution
I designed and built the whole agent: a fast Gemini front desk that answers most messages and hands real work to Claude as parallel background jobs, with a self-hosted model gateway as the backup brain. Her memory grows on its own — facts and people, a nightly journal, skills learned from how I work, a searchable archive of every chat and email. Safety lives in code rather than prompts: trust levels, approvals as WhatsApp polls, taint tracking after outside content, an OS sandbox around every job, a daily budget, and an audit log. Friends I let in each get a space walled off by construction and encrypted at rest.
Built with
Product Engineer · Client Project
Upcoming engagement — prototype built
A multi-branch chicken restaurant chain in Morocco that wants its own ordering channel instead of depending on delivery apps. Customers order from a specific branch, for delivery or pickup, straight from their phone.
Key contribution
Ahead of the engagement I built a working prototype on the chain’s real menu and branch list: a French-first mobile ordering flow, a tablet dashboard where branch staff accept and progress orders live, and an admin platform with server-enforced role permissions and an audit trail on every change. It runs on demo data and sends nothing to real kitchens.
Built with
Full-Stack Engineer · Client Project
Upcoming engagement — platform built
A Casablanca burger restaurant that takes cash only and needs one system for its storefront, its incoming orders, and its back office — in English, French, and Arabic.
Key contribution
I built the platform ahead of the engagement: a branded storefront with menu modifiers and guest checkout, live order tracking over Server-Sent Events, and a restaurant admin for menu, orders, promotions, staff, stock, and analytics. Order status moves through a state machine enforced on the server, and alerts go out in-app and over WhatsApp.
Built with
Product Engineer · Full-Stack Developer · Designer
Two internal platforms — bookkeeping & CF1
Internal platforms designed around the real operational needs of 1337 Coding School — not demo projects, but systems built for the people who run the school.
Key contribution
I designed and built a bookkeeping and operational management platform, and CF1 — a Jira-inspired internal platform for ticketing, workflows, and collaboration. The work ran full-stack across authentication, databases, dashboards, permissions, and notifications, including the UI and UX design of both products and their continuous improvement.
Built with
Infrastructure Automation & Systems Maintenance
376 Workstations Managed
Keeping a fleet of roughly 376 workstations consistent, secure, and available — while people were actively using them.
Key contribution
I automated repetitive administration with Ansible, maintained Linux worker environments, deployed configuration changes and security patches, and diagnosed infrastructure and networking problems — improving consistency across the fleet while minimizing disruption to users.
Built with
Systems Engineering · Personal Project
A filesystem written from scratch in C
Built to understand what actually happens beneath open(), write(), and readdir() — superblocks, allocation bitmaps, inodes, extents, and directory entries — by implementing them.
Key contribution
OMIFS keeps a fixed 4 KiB block but chooses the extent size from the file’s size, so small files stay compact (or live inside their inode) and large files get long, low-fragmentation runs. It mounts through FUSE and ships with a formatter, an inspector, and a checker over a checksummed, endianness-independent on-disk format.
Built with
Also built
Trilingual store for a Moroccan sweets business — cart without accounts, WhatsApp-assisted ordering, event quotes, and an admin for products, orders, and delivery zones.
Hourly catalogue monitor for a Moroccan PC retailer — tracks prices and stock over time and posts discount alerts to Discord.
A terminal UI for browsing a student’s project records through the official 42 API, with search, filters, and an API inspector.
A top-down narrative investigation game prototype — dialogue, a theory board, puzzles, and save files.
Work with OMI Solutions
OMI Solutions works with founders, teams, and organizations that need help shaping, designing, building, and maintaining digital products.
30 minutes. I'll scope your problem, walk through a delivery plan, and tell you honestly whether I'm the right fit. No pitch deck, no strings.
30-minute discovery call
We scope the problem and I ask the questions that matter.
Proposal & scope in 48 hours
A clear plan — approach, timeline, and what success looks like.
First iteration in weeks
Working software you can see and use, not slideware.
Select a day
Loading dates…
Pick a slot and I'll confirm by email, usually within a day. Prefer to write first? contact@omisolutions.ma