The Unix Philosophy Meets AI: Building Composable LLM Tools with MCP

The Unix Philosophy Meets AI: Building Composable LLM Tools with MCP

We’ve been thinking about AI development backwards. Instead of building “AI-powered” apps, we should be building tools that power AI. The Model Context Protocol lets you create small, focused tools that LLMs can use autonomously - just like Unix commands from 1978, but orchestrated by Claude instead of bash. I built a currency converter tool and watched an LLM decide when to use it, extract dates from user prompts, and combine multiple API calls without me writing any of that logic. It’s the same composable philosophy that made Unix great, applied to making AI actually useful in the real world.

Read more

The Stoic Engineer’s Guide to Technical Debt

The Stoic Engineer's Guide to Technical Debt

A chance encounter at the airport leads to insights into the real nature of technical debt in software development. Through the lens of Stoic philosophy and Lord of the Rings metaphors, this post explores how better communication between engineers and management can prevent our own Mines of Moria situations. Practical tips included for both technical leads and managers on how to discuss, document, and decide which technical dragons are worth slaying.

Read more

Breaking Free from Analysis Paralysis

Breaking Free from Analysis Paralysis

Ever felt overwhelmed by endless choices when starting a new project? Join me as I dive into the chaos of backend development, battling analysis paralysis and procrastination. Discover how I learned to focus on building rather than endlessly researching, and find tips to keep your own projects on track.

Read more

Avoiding the pitfalls of Architecture Astronautics

Avoiding the pitfalls of Architecture Astronautics

Ever felt like your code is an engineering marvel, only to realize you overengineered and built the wrong thing? Or maybe you over-abstracted, blindly following instincts and so-called good practices? I surely did, and I want to share some thoughts on this topic. Let’s explore a path toward more practical, sustainable software engineering.

Read more

Veni, Vidi, Rewritten

Veni, Vidi, Rewritten

Have you ever thought that your project needs to be rewritten completely from scratch? I share a story of a mobile app rewrite, that didn’t went well on few levels, and it got me thinking how other companies approach this topic. And why you shouldn’t think about it, there are other ways to address the issues.

Read more

Refactor to UseCases

Refactor to UseCases

I was surprised how much utilizing the UseCase pattern in my last Android app helped with the development. It naturally created a clear structure, created boundaries, and accidentally extracted the app domain. Maybe it will work for you too.

Read more