About · Addis Ababa
I build backends where latency is the product.
Most of my work is the unglamorous kind — finding the query that blocks the event loop, the cold start nobody budgeted for, the index that was never added. The interesting part is not the fix, it is knowing which number moved and by how much.

Experience
- Aug 2025 — present
Software Engineer · Deepora
Chose AWS ECS Fargate over Lambda for real-time infrastructure to eliminate cold starts. Built a WebSocket notification pipeline holding p99 under 100ms, with automated testing behind 99.9% uptime.
- 2025 — present
Full-stack Engineer · Wedlii
Built wedlii.com.au on server-rendered Next.js for search visibility, and integrated Stripe Connect for multi-party payments with compliance-grade integrity.
- Dec 2024 — Aug 2025
Full-stack Engineer · Tammwe LLC
Moved a legacy backend to Next.js and Drizzle with zero downtime, then cut query latency 30% through indexing and query planning.
Open source
12 merged · 6 open
Upstream fixes, mostly in the unglamorous places — filter precision, error propagation, silent truncation. Every count below links to the pull requests behind it.
Methodology
Status · sample data
TODO — these samples are seeded, not measured. They exist so the trace has a shape while real data is sourced. Replace with this site’s own TTFB or Core Web Vitals samples and uncheck "illustrative" once the collection method can be described here honestly. Until then the hero labels them as sample data.
Budget: 50ms. Samples: 48. Any sample above the budget renders in amber on the trace; if nothing breaches, no amber appears anywhere on the site.