About
I am a software engineer in Tunis. I started on backend, moved into AI, and the backend half turned out to be the part that mattered.
Today I hold two production systems at once. One is a document-AI platform on Azure, where I own the AI pipeline and most of what runs underneath it. The other is a real-estate platform where I am the only engineer, which means I wrote the agents, the API, the deployment, and the DNS records.
Most of my work now is keeping language models honest in production. I instrument them, I bound what they are allowed to decide on their own, and the bill goes down as a side effect of both. Models are good at fluency and bad at invariants, and the distance between those two is where the job is.
That means I spend more time on evaluation harnesses and cost telemetry than on prompts. The prompt is almost never the bottleneck. I have the failed optimizer runs to prove it.
Where I have worked
AI engineer, document-AI platform
2025 to nowProduction pipeline on multi-tenant Azure. 54 document types, 438 tests in CI, inference cost down 5.7× per document.
AI technical lead, real-estate AI platform
2026 to nowThe entire engineering function for a company with no other engineers. 20 API services, WhatsApp and voice agents, Microsoft 365 sync.
Freelance AI and software engineer
About a year before thatA crypto-exchange platform with real-time pricing and KYC, LLM fine-tuning for client applications, and ML workshops for more than 50 students.
How I work
Trust the model for fluency, never for invariants.
Anything that has to be true gets checked in code, outside the model.
A fallback that invents data is worse than a crash.
A pipeline that stays up on garbage input hides the outage instead of reporting it.
Score the configuration you actually ship, in the same run.
An optimistic number usually came from a setup that is not in production.
Cost belongs in the objective function.
A harness that records cost and gives it zero weight will optimise you straight into a bigger bill.
Tools
Python · FastAPI · Celery · SQLAlchemy · PostgreSQL · Qdrant · Redis · DSPy · GPT-4o · Claude · Llama 3 · Groq · Deepgram · ElevenLabs · Azure Functions · Microsoft Graph · Docker · GitHub Actions · TypeScript · Next.js
Availability
Open to AI and backend engineering roles anywhere in the world. Remote is easiest from Tunis, but I will work on site and I am willing to relocate. I also take freelance work when the problem is production AI rather than a prototype.
Contact
Email is fastest: bani.mahdi666@gmail.com. The form below reaches the same inbox.