Service architecture
Designing service boundaries, event flows and APIs that stay legible as teams and traffic grow — not big-bang rewrites, but systems that bend.
Seven years building the backbone of CRM, call-center and ERP platforms — owning architecture, database design and the reliability that keeps distributed systems honest under load.
Each role meant taking ownership of real systems under real load — and leaving them more reliable, faster and better documented than I found them.
How a polling bottleneck became a queue-based system that stays up under load.
Message delivery to the call-center ran on database polling. Under campaign spikes it lagged and bottlenecked — and a busy campaign could drag the whole platform down with it.
Re-architected around RabbitMQ with a direct exchange and one queue per campaign, consumed by long-running Node.js workers — plus idempotent, queue-based webhook processing for 20+ WhatsApp (WAHA) event types.
Spikes now degrade gracefully instead of cascading. Campaigns are isolated, delivery is decoupled from the web tier, and the platform stays responsive under load.
Deep in the PHP/Laravel ecosystem, fluent across data, infrastructure and messaging — chosen for reliability, not novelty.
I'm a backend team lead with 7+ years of engineering experience and hands-on technical leadership. I lead backend development for in-house enterprise systems — CRM, call-center infrastructure and ERP integrations — owning architecture, database design, reliability and team standards. I have a strong track record of taking over legacy codebases, driving remediation and mentoring engineers through code reviews, and I write the technical documentation that lets teams scale. I'm comfortable balancing IC work in PHP / Laravel with leadership across cross-functional projects. If that sounds like your team, let's talk.