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 →
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
12 min read

A Trip Planner That Reasons Without Generating: Chain-of-Agents with a 1.5B Model

I took the Chain-of-Agents pattern from chapter 7 of 30 Agents Every AI Engineer Must Build and turned it into a real demo: a local 1.5B model that writes only what it must, a JEV-style decision engine that answers with probabilities instead of text, and a budget-conflict loop that resolves without generating a single token. What worked, what the model made up, and how the code ended up writing the honest part.

agentsllmlanggraphollamapythonfastapi