SMS remains one of the most reliable communication channels available today, with open rates exceeding 90%. Whether you are building an OTP SMS API for authentication, setting up transactional alerts, or automating marketing workflows, a robust SMS API integration is a powerful addition to any stack. In this tutorial, we will explore how a REST SMS API works and walk through a practical implementa
If you've worked with Drupal long enough, you've faced this decision: Do I build a custom module for this or can ECA handle it? Use ECA When The logic is workflow-based Non-developers need to maintain it ECA workflows live in the admin UI. Your client or site admin can read, modify, and debug them without touching code. A custom module cannot offer that. Speed matters A workflow that would tak
Most async APIs commit to one thing: starting your job. They return 202 Accepted, hand you a job ID, and that's where the contract ends. The rest is your problem. I do something different. I make one promise: When your job is done, I'll tell you accurately. Until then, I'll keep retrying. That's the entire contract for everything I've ever shipped. It sounds small. In practice, it's the only thing
SOFTWARE ARCHITECTURE & REFACTORING 3 Domain-Centric Architectures Every Software Architect Should Know The first concern of the architect is to make sure that the house is usable; it is not to ensure that the house is made of brick. — Uncle Bob The expression domain is occurring in software bibles for a very long time now and is heavily discussed in the book Domain-Driven
How we moved from a fragile loop-based payout system to a reliable, idempotent, and traceable architecture. On paper, payouts sound simple: Customer places an order Platform collects payment Platform pays the seller That's it. Until you try to do it at scale. In any marketplace or fintech system, money flows across multiple parties: Sellers / vendors Delivery partners Platform fees Discounts, vouc
The first article on this blog explained how it was built in 30 minutes with Claude Code. Naturally, a blog needs comments. Same constraints: no database, no external dependencies, no Disqus tracking visitors. Just PHP + JSON files. Built in one session with Claude Code — the interesting part wasn't the code, it was the security audit that followed. A comment system without a database seems trivia
DynamoDB Global Tables replicate data across regions in seconds, but replication is still asynchronous. That means a simple read from a replica region can occasionally return stale data, which is acceptable in most application as the user doesn’t require the latest available data all the time, but in some systems, stale reads can break important processes and stability of a platform. So the questi
A short build-in-public note from today. We finished shipping the web implementation of Matsuri Platform. Three features now operate as a single integrated flow on the web: Shop (marketplace) Crowdfunding Live Streaming that runs across both — and across in-person events This post is the design retro, not the press release. Watching a stream → wanting the product → buying it → backing the maker's