Hello World 👋🏻,
I keep thinking about something I noticed as AI coding tools got better.
The job isn't disappearing. It's moving up a layer. You stop asking "how do I implement this?" and start asking "what system do I set up so this gets implemented correctly?" The skill isn't writing code anymore - it's operating the agents that write it, knowing when they're wrong, and catching the failure modes before they hit production.
That's the shift I'm living. Code intelligence at CoreStory. Production AI systems at Autonomous. Conversational agents at Memox.
I write here about what I'm learning - the architectural decisions that failed, the assumptions that didn't hold, the patterns that emerge when you stop building demos and start shipping systems that survive real users.
Most of this is for myself six months ago. If it helps you too, that's a bonus.
Blog Posts
I Approved a Monkey Patch Today
Patches aren't the problem. Patches without a plan are. Here's how I think about the patch vs. rewrite decision.
Mar 13, 2026
Engineering
Leadership
Architecture
JIRA Hygiene Is a Leadership Problem, Not a Process Problem
JIRA doesn't rot because engineers are lazy. It rots because the cost of bad data falls on someone else. Here's the fix.
Mar 13, 2026
Leadership
Engineering
Team
Django Gets a Rust Engine. Here's What to Make of It.
django-bolt puts a Rust/Actix Web HTTP layer on top of Django. The numbers are real. Here's when it matters and when it doesn't.
Mar 10, 2026
Engineering
Python
Rust
Local AI Is Getting Closer Than You Think
A 4B parameter model, 5-6GB of RAM, output approaching GPT-4. The gap between local and cloud AI is closing faster than most people are tracking.
Mar 10, 2026
AI
Engineering
Local Models
I Changed Our Standup Format. Here's Why.
Separate the update from the discussion. The parking lot principle - and why it changed how our standups actually work.
Mar 10, 2026
Leadership
Team
Engineering
When Someone Good Leaves, Here's What You Actually Lose
When someone good leaves, you don't lose their code. You lose their mental models. Here's what the real handover looks like.
Mar 10, 2026
Leadership
Engineering
Team
I Built a Citizenship Quiz Agent. My Wife Has a Test in 4 Days.
Mahnoor's Canadian citizenship test is in 4 days. I built an agent to help her study. Here's what building for someone you know looks like.
Mar 9, 2026
AI
Personal
Building
One Config Change Cut My Cloudflare Bill by 94%
Bisync running every 5 minutes was silently compounding R2 operation costs. One interval change fixed it.
Mar 7, 2026
Engineering
DevOps
Cloudflare
I Built an AI for My Niece. She Named It Mishi.
Mashal is 15. She bakes. I built her an AI to help with the business side. It named itself Mishi.
Mar 7, 2026
AI
Personal
Building
Why Your CRM Shouldn't Be Your Database
Someone asked if we could use HubSpot tables as a backend. You can. You probably shouldn't. Here's why.
Mar 6, 2026
Engineering
Architecture
Leadership
What I Found in 60 Minutes Auditing a Live PHP Codebase
I came in to scope two sync bugs. What I found in the first 60 minutes changed the conversation entirely.
Mar 6, 2026
Engineering
Security
Leadership
Context Management Is a Skill. Almost Nobody Treats It Like One.
Context is what the model is working with. Most people let it fill up and hope for the best. Here's what deliberate context management actually looks like in practice.
Mar 5, 2026
AI
Engineering
Productivity
The Operating Engineer
The shift isn't AI replaces engineers. It's that the job changes shape. Engineers who understand this will thrive. Engineers who don't will spend a lot of time fixing what agents got wrong.
Mar 5, 2026
Engineering
AI
Leadership
100 Agents Need What 1 Developer Doesn't
One good developer carries architectural instincts in their head. A hundred AI agents don't. That's why guardrails aren't optional at AI scale - they're the thing that makes the whole system work.
Mar 4, 2026
Engineering
AI
Agentic Systems
I Didn't Tell It to Do That. It Did It Anyway.
A colleague built a bridge between two AI systems and turned on relay mode. The model started deciding on its own what to handle locally and what to route remotely. Nobody told it to do that.
Mar 3, 2026
AI
Engineering
Agentic Systems
Code Review Is Dead. Here's What Replaces It.
AI-generated code has broken the math of code review. The answer isn't better AI reviewers - it's moving the human checkpoint upstream to the spec.
Mar 3, 2026
Engineering
AI
Software Development
I Closed My Own Pull Request Today. Here's Why That Was the Right Call.
Opening a PR is easy. Closing your own is harder. Sometimes the most important engineering decision you make is recognizing when your approach isn't the one the team should rally behind.
Mar 3, 2026
Engineering
Leadership
Team
Vibe Coding vs Vibe Engineering
There's a difference between moving fast with AI tools and building things that last. One is vibe coding. The other is vibe engineering. Only one survives production.
Mar 1, 2026
Engineering
Leadership
AI
The new way of building Django apps!
Aug 12, 2025
Django
Fix Hetzner Mirror Issues
Hetzner mirror fix for Ubuntu package mirror URL
Mar 1, 2025
Ubuntu
Django Untangled
A collection of thoughts, comments and criticisms on the Django Web Framework
Oct 25, 2024
Django
VS Code Shortcuts to Boost Productivity
Sep 4, 2024
VS Code
Productivity
Setup Netdata on Coolify as Netdata Parent with multiple Netdata Children
Jun 4, 2024
Observability
Development Environment Setup
A few things that I always set up on a new system.
Feb 25, 2024
How to setup swap on Ubuntu?
A short guide to setting up swap on your Ubuntu server
Dec 27, 2023
DevOps
Ubuntu
Swap
What can I blog about?
Oct 5, 2023
Introspection
Handbook
A collection of commands across multiple tools, services, and technologies.
Sep 17, 2023
Software Development
Productivity
Engineering Blogs
Interesting engineering blogs that will provide context when learning system design.
Sep 17, 2023
Software Development
Research
