Skip to content
MSODOKIIan Muchesia

MSODOKIMsodoki is the name I build and write under.

Ian Muchesia

Software engineer · Nairobi, Kenya

I'm a software engineer focused on building backend systems and AI-powered applications. I work across APIs, data, and intelligent systems, with an emphasis on making software reliable, secure, and useful in real-world environments.

Projects

01Intent routing · BankingEngine working

Understanding what a bank customer wants, in English, Kiswahili or Sheng

An engine that reads a customer's message and decides what to do with it: answer, ask them to confirm, say no, or pass it to an LLM when it isn't sure. It runs on a laptop CPU, and money never moves without the customer saying yes.

0critical errors on 298 messages it had never seen

02Agents · PaymentsDone

Refund cases that can take days, without paying anyone twice

An agent for one kind of complaint, "M-Pesa took my money but my order says unpaid", from the first message to the refund. It survives crashes without paying twice, waits days for staff approval, and never shows the model a real phone number.

16/16Swahili amounts read right, after moving them from the model to code

LLMs & agents
AgentsTool callingMCPStructured outputsPrompt engineeringAzure OpenAIGeminiOllama / Qwen
Fine-tuning
LoRAFull fine-tuningDistillationQuantisation (INT8)ONNX RuntimePyTorch
Evaluation & safety
Held-out examsCalibration (ECE)Red-teamingGuardrailsPrompt-injection defenceGolden sets in CI
Retrieval
RAGEmbeddingsBM25Hybrid searchRerankingFAISSpgvectorTypesensePermission-aware retrieval
Serving
vLLMKV cache sizingLoad testingLatency (p50 / p99)FastAPI streaming
ML & data
scikit-learnNumPypandasDuckDBParquetPostgreSQL
Languages
PythonTypeScriptSQLC#
Backend & cloud
FastAPINode.js.NETKafkaDockerAzureGitHub ActionsLinux

“Use the model only where nothing else works.”