Slow pages or APIs
Trace time spent in Rails, rendering, serialization, external services, and avoidable application work.
Ruby on Rails performance consulting
I help teams diagnose and fix slow Ruby on Rails applications—from expensive PostgreSQL queries and overloaded Sidekiq jobs to slow requests and memory pressure. Start with production evidence, ship the highest-value safe changes, and measure the result.
“Improve performance” is an easy claim to make. I make my work inspectable. You can review the query profiles and plans, benchmark methodology, regression tests, pull requests, and client outcomes behind it. I clearly separate production client results from benchmarks of open-source contributions.
01 / When to bring me in
This service is for established Rails products with observable production symptoms and a team ready to review and ship focused improvements. If you are still diagnosing the problem yourself, start with my Rails performance optimization guide
Trace time spent in Rails, rendering, serialization, external services, and avoidable application work.
Investigate query plans, missing indexes, N+1 queries, large scans, joins, counts, and Active Record usage.
Examine Sidekiq or Active Job throughput, batching, retries, query volume, and worker memory.
Find allocation-heavy paths, oversized workloads, ineffective caching, and configuration bottlenecks.
02 / Production result
The production symptom
The delay was visible in a real production workflow—not an isolated microbenchmark. The first job was to trace the complete data path before changing code.
03 / Work you can inspect
These Rails performance case studies show the original bottleneck, the code-level approach, and the measured result.
Browse all case studiesAn open source Rails performance optimization that made role checks association-aware across Forem’s admin member list, CSV export, async user payload, and reCAPTCHA service.
An open source Rails performance optimization that replaced per-article analytics recomputation with bulk SQL aggregation, cutting median backfill time by 90.1%.
A co-authored open source Rails performance fix that batch-loaded product serialization data, cutting mean response time by 40.4% and SQL events by 77.7%.
Rails performance, PostgreSQL, security, and open-source work.
04 / What you receive
The evidence determines how time is divided between diagnosis and implementation. You can see what changed, why it changed, and whether it worked.
Agreed target metrics plus the profiles, traces, logs, or query plans that identify the expensive path.
Reviewable Rails code, tests, benchmarks, configuration, and safe database migrations for improvements that fit the engagement.
Before-and-after measurements, deployment support where applicable, and a prioritized roadmap for useful remaining work.
05 / How the work runs
Access and targets are prepared before the paid block so the engagement can concentrate on technical work.
Connect the production symptom to its user or business impact, choose the relevant metric, and capture a comparable starting point.
Follow the evidence through Rails, Active Record, PostgreSQL, jobs, caching, and external services.
Prioritize by likely impact, confidence, risk, and effort; deliver changes through your normal pull-request workflow.
Compare completed work with the baseline and document results, trade-offs, deployment considerations, and next steps.
06 / Who you work with
I am Haseeb Annadamban, a software engineer working with production systems since 2016 who works as a Rails performance consultant. Rails and PostgreSQL are my deepest application stack, and I work directly with your team—there is no agency handoff.
Work across established SaaS products where performance, reliability, security, and maintainability have real consequences.
Product and infrastructure work on a platform serving more than one million users, alongside focused consulting engagements.
Requests, Active Record, PostgreSQL, Sidekiq, integrations, memory-intensive workloads, testing, and deployment.
07 / Practical details
We agree on the affected workload and a measurable baseline, profile the bottleneck, implement the highest-value safe changes, and compare completed work with the original metric. The engagement ends with a technical handoff and a prioritized list of remaining opportunities.
Yes. N+1 queries, missing or misaligned indexes, large scans, and expensive Active Record patterns are among the most common production bottlenecks I fix. I confirm the expensive path from production evidence before changing code, and validate each fix against the original metric.
Yes. The work covers Sidekiq and Active Job throughput, queue latency, batching and retries, worker memory, allocation-heavy code paths, and ineffective caching. If the fastest win is in Rails requests or PostgreSQL instead, the evidence determines where time goes.
The initial commitment is 80 paid hours at $75 USD per hour. Those hours cover the agreed investigation, implementation, validation, documentation, and handoff. Additional work happens only by mutual agreement. If the original work finishes early, remaining hours can be used for other agreed performance work; unused hours are not refunded or carried forward.
Yes. The initial discovery call and fit check are free. Paid time begins only after we agree to proceed.
The metric depends on the problem and may include request latency, database execution time, query count, job throughput, queue latency, memory, allocations, or error rates. Completed changes are compared with an agreed baseline wherever reliable measurement is possible.
No responsible consultant can guarantee a percentage before measuring the application. I explain what the evidence supports and provide before-and-after results for completed changes wherever the environment permits.
A broad audit usually surveys the application and emphasizes findings. This engagement starts with observable production problems and reserves time to implement and validate fixes, not only recommend them.
Free fit check · 80 hours · $6,000 USD
I will help you decide whether this is the right first engagement before you commit.
Discuss your Rails app