Find the real cause first
What was actually slow
- Missing indexes and filters PostgreSQL couldn't use.
- Repeated database calls and N+1-like patterns; inefficient joins.
- Heavy add-ons, looping triggers, large responses and missing pagination.
Home › PostgreSQL performance
PostgreSQL · API performance
On a production ATS/CRM with ~150k person records and ~100k companies, important APIs could take 5, 10, 30 or 40+ seconds under load. I took ownership of performance: traced each bottleneck, then fixed indexes, queries, pagination, triggers and data access to bring the product back to interactive speed.
Measured on real projects.
On a production ATS/CRM built at Soraia for a Spanish recruitment company.
What was actually slow
Indexes and queries
is_contact boolean with an indexed type column.Less work per request
Imports, duplicates and migrations
Quick answers before we talk.
It depends on the cause, so I won't promise a multiplier before I've seen your queries. On a production ATS/CRM, APIs at 5–40+ seconds under load were brought back to interactive speed by fixing indexes, joins, pagination, triggers and repeated calls.
Yes. Most of my performance work was on Xano, which runs on PostgreSQL, including direct SQL queries. See my Xano developer page.
Yes. I've handled imports, deduplication and a CRM migration from Clientify, with mapping and cleanup.
Yes, fully remote from Oran, Algeria (UTC+1).
Book a free call or email me at abdelmoulabilel2000@gmail.com with the endpoint or query that's slow.
Tell me what's slow, messy or missing. A short call is enough to see if I can help.