Not just the code — the system around it: retrieval, queues, tenancy, observability.

YosriKhiari

Role

Software Engineer

Focus

AI systems · Full-stack · Infra

Based

Kelibia, Tunisia

Optimising: what holds under load • Not: what demos well

khiariyosri02@gmail.com · linkedin.com/in/yosrikhiari · github.com/yosrikhiari

sys.readoutlive
Months in production0
Companies0
Containers in one Compose stack0
Eval cases gating CI0
Automated tests shipped0
ESPRIT · Engineering Degree, CS Python • TS • C# • Go • Java
Scroll
About

Build it. Then make it hold.

Systems that survive traffic, tenants and time — not just the demo.

I'm a software engineer who ships production systems across the full stack — from AI pipelines and retrieval-augmented generation to multi-tenant SaaS platforms and container orchestration. I care about the part after the model returns: how the request is classified, retrieved, filtered, traced, and kept honest.

Over thirteen months of internships across three companies I've led the development of a semantic search engine (6 custom services on a 29-container stack), owned ERP modules from database to UI, built ML forecasting pipelines, and run Kubernetes deployments across environments. My toolbox spans Python, TypeScript, C#/.NET, Go and Java.

I'm finishing an Engineering Degree in Computer Science at ESPRIT in Tunis (September 2026), after preparatory studies in Mathematics and Theoretical Physics at ISSAT Mahdia (ISSATMA) — which is where I learned to ask why a thing works before trusting that it does.

CurrentlyOpen to full-time roles · AI systems / backend
Most recentSoftware Engineer Intern, Neoledge MEA
EducationESPRIT, Tunis · ISSATMA, Mahdia
LanguagesArabic · French · English
Experience & Education

The trajectory.

Neoledge HorizonLux L-Mobile Education Certifications
Work

Systems that had to hold.

Side projects built to production standards — tests, monitoring, and load included.

01Local-first AI writing
Versatile — Agents panel: a model and a device per role

Versatile

Offline-first AI fiction writing platform. A LangGraph.js graph runs Writer, Critic and Editor as separate agents on GPU and CPU lanes — the critic judges one scene while the writer drafts the next — checkpointed per step, with a live Agents panel and every model call traceable through AgentOps. Vue 3 + .NET 10, Dexie/IndexedDB sync, TipTap editor, five AI providers. ~3,100 automated tests.

Vue 3 • LangGraph.js • .NET 10 • TypeScript • IndexedDB • Ollama • Docker
02LLMOps benchmarking
AgentOps — Tower console: 3,738 requests, p50 142 ms, faithfulness 0.972, routing traffic and backend health

AgentOps

Production-grade benchmarking platform in Go. Stress-tests LLM providers under realistic traffic with Prometheus/Grafana monitoring, k6 load tests and 11 configurable policies — rate limiting, circuit breakers, cost caps.

Go • Prometheus • Grafana • k6 • Docker • GitHub Actions
03Event-driven platform
Chexy — choosing a Stockfish-backed opponent by skill level

Chexy

Chess platform with a classic mode and an RPG mode (armies, gold, abilities). Spring Boot API with Keycloak auth, MongoDB and Kafka game events; React client over STOMP WebSockets; a Flask service that asks Stockfish for moves and scales them to the bot’s skill. Deployed to Kubernetes by a Jenkins pipeline. Now one monorepo with the four parts’ full history.

React • Java • Spring Boot • Keycloak • Kafka • Stockfish • Kubernetes • Jenkins
04Multi-agent pipeline
Jester — operator console: 1,321 scored ideas from 28,880 nuggets

Jester

Web intelligence pipeline. A Go worker scrapes 80+ community sources, a chain of LLM agents (extractor, synthesizer, critic) distils pain points, and a React 19 dashboard surfaces scored product ideas.

Python • Go • React 19 • Qdrant • Ollama • Docker
Stack

What I build with.

Seven clusters, one graph. Tools I've actually shipped or trained with — hover a hub to light up its cluster, drag anything.

drag · hover
Contact

Hard problems welcome.

Looking for a team where the interesting part is everything around the model. A question, a role, a project — the inbox is open.