tech.bilouro.com
Notes from the seam between code and leadership.
Technical notes, architecture, and hands-on leadership.
-

19-production-discoveries
Three things sandbox couldn't tell me about my payment SDK.
-

18-always-honest
"Always honest, never assume." It's a rule I wrote at the top of my SDK's contributor guide. The origin is a small mistake that taught me something I never had…
-

17-webhook-security
My SDK verifies webhooks two different ways. Most SDKs only do one.
-

16-200-things-changed
200 things changed, 2 actually did.
-

15-api-unification
Two API generations. Three auth methods. One client.
-

14-nif-validate-locally
Validate the customer's tax ID before the network does.
-

13-status-matrix
I shipped a Python SDK for a payment gateway. The page I'm most proud of is a status table.
-

12-open-as-principle
An SDK is an architectural principle. Open source is a life principle.
-

Async FastAPI, Measured
Everyone says async is faster. I finally ran the numbers.
-

Testing FastAPI Without DB Mocks
Don't mock your database in tests.
-

Pydantic + SQLAlchemy: The Real Stack
FastAPI gets the credit. Pydantic v2 and SQLAlchemy 2.0 do the heavy lifting.
-

FastAPI in the Real World
FastAPI alone is a 30-line tutorial. What makes it a service is everything that wraps the framework.
-

Three Sites One Admin One Postgres
Three sites, one Postgres, $8/month. That’s my Wagtail stack in production.
-

Build vs buy your AI voice agent? It is the wrong question.
Tech leaders ask me a recurring question: should we buy an off-the-shelf IVR or contact-centre platform, or build a Gen-AI voice agent ourselves?
-

The model choices that defined our voice agent
Following up on last week's post about the voice agent I shipped for two Pilates studios.
-

I put a voice agent on the phone for a Pilates studio
A few weeks ago I shipped a voice agent that handles the phone for two Pilates studios — so the owners never had to hire a receptionist at all.
-

After 15 years leading teams, I still commit every week. On purpose.
15 years ago I stopped being a full-time developer and started leading teams. 22 years into my career, I still push code every week.