Blog

#python

Version every build: semantic-release on main, zerv everywhere else

semantic-release versions main beautifully. Every other branch builds unversioned. zerv gives every commit a SemVer, PEP 440 included, without touching tags.

Jun 2026
Make vs Just vs Task vs mise: which reuses workflows?

An audit of how five task runners share workflows between repos: Make include, Just import, Task includes, mise extends, Invoke collections. Where each breaks.

Jun 2026
Developer Workflows Need an Abstraction

Every repo re-copies the same lint, test, and deploy recipes. Workflows need what code already has: inheritance, mixins, and versioned distribution.

Feb 2026
Smarter Python Configs: an OOP Framework

Replace duplicated .env files with a layered Pydantic config framework: base, service, and instance mixins plus a CLI that unifies deploys across environments.

Aug 2025
Building a Resilient API Gateway

How a queue-driven API gateway with Cloud Tasks, Firestore caching, and queue-level rate limiting cut downtime by 70% and handled 40 req/s peaks.

Dec 2024
A Scalable ML Framework with Monadic Design

A Python ML framework built on monadic design: DataPod state carriers, composable trained transformers, and reproducible pipelines from research to production.

Jan 2024
A Python Pipeline Network Modeling Tool

How I replaced manual Excel-to-simulator data transfer with a Python tree-modeling tool for offshore pipeline design, cutting $49.8M from the investment plan.

Feb 2022
How Linear Programming Lifted Oil Production by 15%

A linear programming optimization app for a gas field of nearly 1,000 wells: the LP model, the data pipelines behind it, and the 15.2% production lift.

May 2021