APIs and microservices
REST APIs, JWT authentication, RBAC, service boundaries, asynchronous jobs (Celery), integration of AI inference services.
Expertise · Backend
Sober backends that hold the load, deploy without drama and leave room for AI.
A product slows down, deployments are scary, every new feature touches everything else, and adding an AI component threatens the balance of the whole. Most of the time the technology is not to blame; the boundaries are: mixed responsibilities, data without clear ownership, synchronous calls where asynchronous work belongs.
I design readable backend architectures where each layer has a role, each decision is written down with its reason, and an AI service can be added as a component — not as a rewrite.
REST APIs, JWT authentication, RBAC, service boundaries, asynchronous jobs (Celery), integration of AI inference services.
WebSockets (Socket.io, Django Channels), voice and video with WebRTC and a mediasoup SFU, room and role management.
Tenant isolation, role management, analytics dashboards, monorepos (Turborepo) and shared packages.
They design the server side of an application: service boundaries, data model, APIs, authentication and permissions, asynchronous processing, real-time, deployment. The goal is a system that holds the load, stays secure and can evolve without a rewrite.
It depends on the team and the product. A well-structured monolith is often the right starting point; microservices are justified when parts of the system have different deployment rhythms, load profiles or technologies — for example an AI inference service next to a web application.
Yes. A real-time voice platform I designed handled 218,000 requests in 3 hours on a 2 vCPU / 2 GB RAM server. The key: separate responsibilities and size each layer for what it does.
Python (FastAPI, Flask, Django with DRF, Channels and Celery), Node.js (Express, Socket.io), WebRTC with mediasoup, PostgreSQL, MySQL, MongoDB, Docker, Nginx, Caddy, and the GCP, Azure and OVH clouds.
Companies, startups, institutions: describe your context in a few lines. I answer personally, with a first opinion on feasibility and approach.
Propose an engagement LinkedIn ↗ GitHub ↗
Engagements in Algeria, France, Europe, North Africa and remote · Arabic, French, English · contact@ouahabi-benhenni.com