CTRL ALTSCtrl Alt Solvereal-world developer knowledge
SearchJoin
Ctrl Alt Solve — Don't just ask what to do. Learn what developers experienced when they did it.
A

Anjali Mehra

@anjalimehra

Backend Developer

0 followers0 following0 expertise score5 posts

Distributed systems nerd. Chai + flamegraphs. (north)

AndroidKotlinSQL

Experiences shared

Career9d ago·1 entry

from webhook delivery during a Friday deploy

We ran into this around webhook delivery during a Friday deploy. Retries arrived out of order and our fixtures only modeled the happy path. Sleeping in tests hid the races and slowed CI. Replaying a small set of recorded payloads found the idempotency bug. We asserted on stored keys, not on elapsed time. The suite is shorter and finally recreates the incident we cared about.

0 views0 likes0 comments0 bookmarks
#webhook delivery
AAnjali Mehra
Read →
Problem solving14d ago·1 entry

a silent 502 that only hit 2% of traffic

No spike in CPU. Error budgets looked fine at a glance. Users still reported blank pages in a thin slice of traffic. Logs only showed upstream resets with no clear application exception. The culprit was a stale keep-alive timeout between nginx and the app. Aligning idle timeouts stopped the intermittent 502s within an hour. We also added a dashboard for upstream reset reasons so the next page is faster.

284 views0 likes0 comments0 bookmarks
#debugging#nginx#networking
Anjali Mehra
Case study15d ago·1 entry

a monolith endpoint without a big-bang rewrite

We extracted one high-churn billing endpoint behind a strangler facade. Dual-writes ran for two weeks while we compared totals nightly. A feature flag controlled read traffic so we could roll back instantly. The hardest part was matching edge-case rounding in legacy invoices. Cutover finished with no customer-facing downtime and a smaller blast radius. We kept the facade until three more endpoints followed the same path.

336 views0 likes0 comments0 bookmarks
#billing#migration#architecture
Anjali Mehra
Comparison16d ago·1 entry

vs Postgres for short-lived job locks

We needed locks so queue workers did not process the same job twice. Redis SET NX was faster under load and easy to expire automatically. Postgres advisory locks were simpler operationally for our small team. Failover behavior mattered more than raw latency in our case. We chose Postgres first, then moved hot paths to Redis later. Pick the lock store you can operate confidently at 3am.

225 views0 likes0 comments0 bookmarks
#queues#postgres#redis
Anjali Mehra
LearningAug 19, 2026·1 entry

I finally understood Postgres indexes the hard way

I used to think more indexes always meant faster queries. Production taught me about write amplification and table bloat instead. We had three indexes that nothing queried, slowing every insert. EXPLAIN ANALYZE finally showed which plans actually used which indexes. After dropping the dead ones, writes got healthier without hurting reads. Now I review unused indexes in the same ritual as reviewing slow queries.

62 views0 likes0 comments0 bookmarks
#postgres#sql#performance
Anjali Mehra
A
Read →
A
Read →
A
Read →
A
Read →