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.
K

Karthik Reddy

@karthikreddy

SDE-1

0 followers1 following0 expertise score7 posts

Care about performance, reviews, and mentoring juniors. (telugu)

GoKubernetesGCP

Experiences shared

Learning4d ago·1 entry

from checkout during a traffic spike

We ran into this around checkout during a traffic spike. Docs helped humans. Generated types caught the breakages in CI. Schemas still drift when several repos move at different speeds. Hand-written wrappers stayed flexible and hid mismatches. The noisy diffs were worth it once a breaking change never shipped. We kept the generator and deleted the duplicate sample clients.

0 views0 likes0 comments0 bookmarks
#checkout
KKarthik Reddy
Read →
Question6d ago·1 entry

we handled image uploads while rolling back payments

We ran into this around image uploads while rolling back payments. Staging was quiet. Production was not. A small config drift showed up only after traffic moved. We compared logs from the last healthy deploy before touching code. The fix was smaller than the theory: one timeout and a clearer metric. We kept the old path behind a flag until the numbers settled.

0 views0 likes0 comments0 bookmarks
#image uploads
KKarthik Reddy
ExperienceSep 3, 2026·1 entry

broke when we moved auth to the edge

We moved session checks to the edge to cut latency on every page load. It worked in staging, then failed on preview deploys when cookies crossed domains. Clock skew between edge and origin made short-lived tokens look expired. We fixed cookie domains per environment and added skew-tolerant expiry. Median auth path dropped about 120ms, with fewer cold-start surprises. Lesson: test cookies across every environment before calling a migration done.

190 views0 likes0 comments0 bookmarks
#nextjs#auth#edge
Karthik Reddy
LearningSep 2, 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.

25 views0 likes0 comments0 bookmarks
#postgres#sql#performance
Karthik Reddy
Problem solvingSep 1, 2026·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.

226 views0 likes0 comments0 bookmarks
#debugging#nginx#networking
Karthik Reddy
Case studyAug 31, 2026·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.

92 views0 likes0 comments0 bookmarks
#billing#migration#architecture
Karthik Reddy
ComparisonAug 30, 2026·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.

159 views0 likes0 comments0 bookmarks
#queues#postgres#redis
Karthik Reddy
Read →
K
Read →
K
Read →
K
Read →
K
Read →
K
Read →