$ blog
Backend architecture, distributed systems, and engineering field notes.
featured post
Driftr: What I Built When Volta Stopped Moving
A shim-based Node.js toolchain manager in Go — 1ms overhead via syscall.Exec, SHA256-verified installs, and pnpm shared-store optimization nobody turns on.
2026-07-11 · 12 min read
$ Series
$ explore by tag (42)
- #ddd14
- #ddd-series9
- #software-architecture8
- #event-sourcing4
- #postgresql4
- #cqrs3
- #database-performance3
- #distributed-systems3
- #fintech3
- #microservices3
- #php3
- #security3
- #symfony3
- #typescript3
- #ai-workflow2
- #developer-tools2
- #encryption2
- #hexagonal-architecture2
- #kubernetes2
- #nestjs2
- #rabbitmq2
- #saga-pattern2
- #testing2
- #agentic-os1
- #ai-agents1
- #amazon-sqs1
- #claude-code1
- #cli1
- #code-review1
- #docker1
- #golang1
- #idempotency1
- #mcp1
- #messenger1
- #nodejs1
- #obsidian1
- #outbox1
- #pnpm1
- #productivity1
- #redis1
- #resilience1
- #scrum1
$ Latest posts
21 min readNEW
Building Idempotent Message Handlers in Symfony Messenger
A production guide to idempotent Symfony Messenger handlers using SQS, Redis locks, PostgreSQL deduplication, and the Outbox Pattern.
22 min read
Why Your Claude Code Setup Loses Context Every Session — And the Obsidian Architecture That Fixes It
CLAUDE.md design, MCP config, session hooks, and a 5-step interview that generates your agent's operating manual. Not a second-brain guide.
12 min read
Hermes Agent Review: Nous Research's Self-Improving AI Agent
Hermes Agent hit 95K stars in 7 weeks. A review of the learning loop, deployment model, and security risks nobody's writing about.
20 min read
Securing Event-Sourced Financial Systems: From Encryption to Observability
Imagine this scenario: a customer exercises their right to erasure. Delete their data, simple as that. Except the event store is immutable…
9 min read
Why Your Event Store Becomes a Bottleneck (And How NestJS Microservices Can Fix It)
Your event store processes 10K events/min smoothly, then Black Friday hits. How to scale with distributed NestJS microservices.
3 min read
How to Deal with a Closed Entity Manager in Doctrine
Understand why Doctrine's Entity Manager closes after failed transactions and how to reset it safely in Symfony applications without compromising data integrity.
4 min read
Simplifying PHP Version Management with SWTP
Easily manage multiple PHP versions with SWTP, a user-friendly Bash utility for macOS. Simplify your development workflow and switch PHP…
3 min read
Symfony’s Workflow Component and Saga Pattern: A Comprehensive Guide to Managing Complex Business…
Explore Symfony’s Workflow Component and the Saga Pattern to manage complex business processes with ease in modern web development
5 min read
The Saga Pattern Unleashed: A Deep Dive into Distributed Transactions with TypeScript
Explore the Saga Pattern with TypeScript! Learn to build scalable and consistent distributed systems through this step-by-step guide
4 min read
Scaling PostgreSQL for High Transaction Volumes in Fintech
Strategies for scaling PostgreSQL in fintech: improve transaction throughput, query performance and availability while preserving consistency and integrity.
6 min read
Hexagonal Architecture with Nest.js and TypeScript
Learn how to combine Hexagonal Architecture, Nest.js and TypeScript to build modular, scalable and testable applications with ports and adapters.
3 min read
Building a High Availability RabbitMQ Cluster
RabbitMQ is a powerful and widely-used open-source message broker that enables asynchronous communication between distributed applications…
4 min read
DDD: Not a One-Size-Fits-All Solution for Every Project
Domain-Driven Design (DDD) is a software development approach that places emphasis on understanding the business domain, building a rich…
9 min read
RabbitMQ: An Introduction to Message Queuing, Protocols, and Policies
RabbitMQ is a highly popular open-source message-broker software that implements the Advanced Message Queuing Protocol (AMQP). It allows…
4 min read
Embracing Clean Architecture: The Key to Scalable and Maintainable Software
Clean architecture is a software design principle that emphasizes the separation of concerns, maintainability, and testability of an…
6 min read
Mastering the Pipes and Filters Architecture
The Pipes and Filters architecture is a well-known design pattern in software engineering that involves breaking down a system into a…
8 min read
Locking it Down: Demystifying Encryption, Encoding, and Hashing for Secure Data
Learn how encryption, encoding, and hashing can secure your data. Explore examples and differences between these essential techniques.
3 min read
Building Scalable and Maintainable Systems with Event Sourcing
Event sourcing can enhance your systems scalability and maintainability. Learn how to implement it effectively with this comprehensive…
1 min read
DDD is useful for complex software projects where understanding the domain is crucial, but it may…
DDD is useful for complex software projects where understanding the domain is crucial, but it may not be the best choice for smaller or simpler projects.…
2 min read
Unleash the Power of Efficiency with Command-Query Responsibility Segregation (CQRS)
Command-Query Responsibility Segregation (CQRS) is an architectural pattern that separates the responsibilities of writing data (commands)…
2 min read
Unleashing the Power of Application Testing: Why Your Business Can’t Afford to Skip It
Discover the importance of comprehensive application testing for improving software quality, reducing downtime, and elevating user…
3 min read
Unlocking the Power of Domain Events in DDD (DDD series part 10)
Discover the benefits of using Domain Events in DDD and how they can improve the flexibility and maintainability of your software.
3 min read
Mastering Transactions: The Power of Aggregates in DDD
Discover the benefits of using Aggregates in Domain-Driven Design for ensuring transactional consistency and maximizing efficiency in…
Domain-Driven Design (DDD) Series#ddd3 min read
Overcoming Procrastination: 5 Proven Tips to Get More Done in Less Time
Take control of your time and achieve success with our tips and resources on stopping procrastination.
2 min read
Powering Your Software Architecture with Circuit Breakers: Protecting Your System from Cascading…
Circuit breakers are a crucial component in software architecture. They are used to protect systems from cascading failures and to ensure…
4 min read
A beginner’s guide to containerization and the differences between Docker and Kubernetes
Learn about containerization, Docker & Kubernetes in this beginner-friendly guide. Understand the differences, benefits, and use cases…
3 min read
Unlock the Power of PostgreSQL: Master Advanced Indexing Options for Optimal Query Performance
Maximize your PostgreSQL database performance with advanced indexing options. Learn the latest techniques and best practices for…
3 min read
Services (DDD series part 8)
In Domain-Driven Design (DDD), the concept of a Service is used to represent a specific operation or functionality that is not directly…
3 min read
Unlocking the Power of JWT: Securely Transmitting Information in the Digital Age
In today’s digital age, secure communication is more critical than ever. With the proliferation of web and mobile applications and the…
4 min read
Code Review: The Key to High-Quality Software and Team Success
Uncovering the Importance of Code Review: A Comprehensive Guide to Improving Code Quality, Faster Bug Detection and Resolution, Shared…
5 min read
Using Hexagonal Architecture and DDD together for robust software design
Hexagonal architecture, also known as “ports and adapters” architecture, is a design pattern that emphasizes separation of concerns…
3 min read
Entity (DDD series part 7)
In Domain-Driven Design (DDD), the concept of an Entity is used to represent the key concepts of the business domain.
6 min read
PostgreSQL Data Partitioning
One of the features that make PostgreSQL stand out is its built-in support for data partitioning. Data partitioning is a technique used to…
3 min read
Bounded Context (DDD series part 5)
Domain-Driven Design (DDD) is a powerful approach to software development that focuses on understanding the business domain and using that…
2 min read
Domain Model (DDD series part 4)
Domain-Driven Design (DDD) is a powerful approach to software development that focuses on understanding the business domain and using that…
2 min read
Scrum — “The Perfect User Story”
Once during a job interview, I was asked the question “In your opinion, what does a perfect user story look like?” I didn’t know how to…
2 min read
Value object (DDD series part 6)
In Domain-Driven Design (DDD), the concept of a Value Object is used to represent simple data types in the business domain, such as…
2 min read
Who should consider using DDD? (DDD series part 3)
Domain-Driven Design (DDD) is a powerful approach to software development that can help organizations build software systems that are…
2 min read
Benefits of using DDD (DDD series part 2)
Domain-Driven Design (DDD) is an approach to software development that focuses on understanding the business domain and using that…
2 min read
Unlocking the Power of Domain Driven Design in Software Development (DDD series part 1)
When it comes to software development, one of the biggest challenges is creating a system that is closely aligned with the business domain…