Software Engineer

Alexis Alulema

Software Engineer · Builder

Software Engineer with 20+ years turning complex problems into scalable solutions — across software, cloud, AI and hardware.

Try it live

Real AI projects you can spin up on demand — each one gets its own ephemeral environment.

See all projects →
Live demo

Trip Planner (Chain of Agents)

Type a trip request and watch a chain of specialised agents hand the work along in real time until they deliver a day-by-day itinerary checked against your budget. A LangGraph orchestrator owns the control flow; a local Qwen 2.5 writes only the prose, while typed decisions and plain arithmetic handle the rest. When the plan goes over budget, a conflict-resolution agent renegotiates it without a human. Local LLM (Qwen 2.5 via Ollama) and no API keys; live weather, places and exchange rates come from open data sources.

PythonFastAPILangGraph
Try the live demo →
Live demo

Agentic Racing

Six identical cars race a closed circuit in the browser. Each car is a two-tier agent: a pilot that drives every frame, and an independent LLM team boss that reads live telemetry and radios back a strategy — attack, defend, conserve — F1 team-radio style, on screen. The race never waits on the model: a fixed heuristic takes over the instant it is slow, off, or replies invalid JSON. Fully self-hosted: a local llama3.2:3b behind a proxy with its own circuit breaker, rate limit and concurrency gate.

Unity WebGLPythonFastAPI
Try the live demo →
Live demo

RAG Chatbot over Blog Posts

An interactive retrieval-augmented generation chatbot that answers questions using my blog posts as a knowledge base. Fully self-hosted: semantic vector search (pgvector) with multilingual embeddings and a local Qwen 2.5 LLM served by Ollama — no external LLM APIs.

PythonFastAPIpgvector
Try the live demo →

Latest posts

See all posts →
18 min read

What Do We Do When the Agent Doesn't Learn? RL Debugging Explained from Scratch

Part 8 of the Reinforcement Learning from scratch series with Agentic Racing. How to turn "the agent doesn't learn" into testable hypotheses, told through the real debugging of the project's RL pilot: at least six plumbing bugs before the first run, eight PPO runs with the lap fraction stuck, a baseline that had a bug of its own, misleading averages, termination versus truncation in ML-Agents, and the process mistakes that cost the most time.

reinforcement-learningmachine-learningagentsunity
19 min read

What Should an Agent Be Able to See? Observation Design Explained from Scratch

Part 7 of the Reinforcement Learning from scratch series with Agentic Racing. How you decide what information an agent gets, going one by one through the project pilot's 42 real observations: scaling, anticipation, memory, what can let a policy memorize a circuit, what it doesn't see (the rivals), the bugs that sent empty observations, and why the pilot, the expert, and the LLM strategist deliberately see different things.

reinforcement-learningmachine-learningagentsunity
26 min read

How Do We Tell an Agent What We Want? Reward Engineering Explained from Scratch

Part 6 of the Reinforcement Learning from scratch series with Agentic Racing. How a human goal gets translated into a reward, using the project's real RL pilot reward as a case study: scales, units, dense and sparse rewards, terminations that act as rewards, reward shaping, and why seven variants of the reward couldn't fix a problem that wasn't about the reward.

reinforcement-learningmachine-learningagentsunity