Bilel Abdelmoula

Home › PostgreSQL performance

PostgreSQL · API performance

Slow API? I find the cause and make it fast

On a recruitment platform with 130k contacts and 100k companies, key screens took up to 12 seconds to load. With the right PostgreSQL indexes and heavy work moved to background jobs, the same endpoints now answer in 0.8 s.

  • 15× faster endpoints
  • Indexes + background jobs
  • Data imports & cleanup
  • Remote, UTC+1

Results

Measured on real projects.

  • 15×faster endpoints
  • 12 s → 0.8 son key screens
  • 32 s → <1 sCV upload wait
  • 130kcontacts · 100k companies

How I did it

On Talent Match, an AI recruitment platform (client name private).

Indexes on the columns people filter by

130k contacts · 100k companies · 35k candidates

  • Indexed the filter columns used on the main screens.
  • Replaced an is_contact boolean with an indexed type column (contact or candidate).
  • Result: slow endpoints 15× faster (12 s → 0.8 s).
  • PostgreSQL
  • Xano

Heavy work moved to background jobs

CV parsing with OpenAI and Google Vision

  • CV parsing used to run while the candidate waited 32 s.
  • Moved it to background jobs: the upload is confirmed in under 1 s.
  • Background jobs
  • OpenAI
  • Google Vision

Clean data at scale

Imports, duplicates and search

  • Python scripts (Pandas) to analyse, clean and import data.
  • Merged duplicate contacts; CSV import that fills gaps without overwriting existing data.
  • Search combining boolean (AND / OR / NOT) and distance filters with vector search.
  • Python
  • Pandas
  • CSV

Safe under load

Security work after an external audit

  • Rate limiting and SQL injection protection.
  • 6-role access control on every screen and action.
  • RBAC
  • Rate limiting

What I can do for your database or API

  • Find and fix slow endpoints and queries
  • Add the right indexes and restructure columns
  • Move slow work (AI calls, imports) to background jobs
  • Clean, deduplicate and import data with Python or CSV
  • Rate limiting, input validation and SQL injection protection
  • PostgreSQL, PostGIS and MySQL; Xano or plain REST APIs

FAQ

Quick answers before we talk.

How much faster can you make my API?

It depends on the cause. On a recruitment platform I took key endpoints from 12 s to 0.8 s (15×) with indexes and background jobs. Once I see your queries I'll tell you honestly what's realistic.

Do you work with Xano's PostgreSQL?

Yes. Most of my performance work was on Xano, which runs on PostgreSQL. See my Xano developer page.

Can you clean up duplicate or messy data?

Yes. I've merged duplicate contacts and built CSV imports that fill gaps without overwriting good data, using Python and Pandas.

Do you work remotely?

Yes, fully remote since 2019, from Oran, Algeria (UTC+1).

How do we start?

Book a free call or email me at [email protected] with the endpoint or query that's slow.

Let's build it properly

Tell me what's slow, messy or missing. A short call is enough to see if I can help.

Also see