Skip to main content
Blog

Notes from the work

Software development, APIs, websites, AI agents, and the client requests behind them.

Featured

Write the request so engineering can price it

A service request is a build brief, not a mood. The useful ones name the user, the job, the data, …

LesterTechLabs Engineering · 3 min read

Featured

Building RAG systems for many languages

How we built retrieval-augmented generation pipelines that understand Swahili, Amharic, and Yoruba — without sacrificing accuracy, citations, or data privacy.

David Mwangi · 12 min read

Personnel files in a locked cabinet with the key on the desk

What the Data Protection Act changes in the database

’s Data Protection Act is not a banner in the footer. It changes which columns you collect, who can open …

LesterTechLabs Engineering · 3 min read

A laptop open to a blurred portal beside a shut notebook

Django or WordPress for a portal

WordPress is a strong way to publish pages an editor will change. Django is a strong way to hold records, …

LesterTechLabs Engineering · 3 min read

A proposal and a software manual on a meeting table, the choice still open

Custom software or the tool you already pay for

Most teams already pay for a tool that almost fits. Building is the right bill when the almost is the …

LesterTechLabs Engineering · 3 min read

A small shop counter at dusk with a phone, a notebook, and a receipt spike

A sale that survives a dropped network

The sale happens at the counter, not on the server. If the network drops after the customer has paid, the …

LesterTechLabs Engineering · 3 min read

A smartphone, a letter, and a feature phone on a desk, one message three ways

One event, three channels

A payment, a booking, and a delivery each need one message. Email, SMS, and WhatsApp are channels. They are not …

LesterTechLabs Engineering · 3 min read

A closed passbook and ledger on a wooden savings-office counter

Member balances a clerk can explain

A member will ask why the balance changed. The clerk needs the lines, in order, with a reason on each …

LesterTechLabs Engineering · 3 min read

A school bursar desk with a receipt book, calculator, and cash box

School fees paid in parts

Parents rarely pay a term in one movement. A fees book that only understands full payment will show almost every …

LesterTechLabs Engineering · 3 min read

A printed payment statement beside invoice copies, a calculator, and a stamp

Reconcile an M-Pesa statement to the invoices

The phone can say paid while the invoice still says pending, and the statement can contain a payment nobody in …

LesterTechLabs Engineering · 3 min read

Warehouse shelves and a clipboard on a packing table during a stock count

Inventory when two branches sell the last item

Two branches can sell the last unit in the same minute. The stock figure has to move with the sale, …

LesterTechLabs Engineering · 3 min read

A clinic reception desk with an open appointment book and a monitor turned away

Book a time without a double booking

A booking system fails the morning two people are given the same chair. The record has to make that impossible, …

LesterTechLabs Engineering · 4 min read

RAG that cites the page

A retrieval system is useful when the answer shows the page it came from. Without that, you have a fluent …

LesterTechLabs Engineering · 3 min read

One checkout for M-Pesa and cards

Customers will pay by mobile money, by card, or not at all. The product should show one amount and let …

LesterTechLabs Engineering · 3 min read

A Django release you can explain

The first production release is finished when someone who was not in the room can say what is deployed, how …

LesterTechLabs Engineering · 3 min read

The invoice should match the scope

Clients argue about invoices when the invoice describes a feeling and the scope described a system. The line items should …

LesterTechLabs Engineering · 3 min read

Where an AI agent earns its place

An agent is a worker with tools, not a chat box with a personality. It earns a place when the …

LesterTechLabs Engineering · 3 min read

A website that finishes on mobile data

Most first visits happen on a phone, between other things. If the headline and the next step are late, the …

LesterTechLabs Engineering · 3 min read

Build a stock quote API

A quote API is a small contract: one symbol in, one documented price out, with the time the price was …

LesterTechLabs Engineering · 4 min read

Build a cache that expires on purpose

A cache is a copy with a deadline. It earns its place when the copy is cheaper than the query, …

LesterTechLabs Engineering · 4 min read