Backend — 2023

Property Search OverhaulElasticsearch tuning & concurrency

Property search is a ranking problem wearing an infrastructure problem's clothes. Both needed fixing.

Role
Software Engineer
Client
PropertyPistol
Year
2023
Discipline
Backend

The problem

Search was slow and — worse — returning the wrong properties often enough that users stopped trusting it. Separately, concurrent booking flows were producing race conditions in production.

The approach

On search: cluster configuration for scalability and resilience, then rewriting the queries themselves in Elasticsearch Query DSL with bespoke aggregations for the filters people actually used. On concurrency: Mutex locks and atomic operations across the booking paths, plus recognised design patterns applied to the core services to make the code legible enough to reason about.

The outcome

Search response time down 50% with result accuracy up 35%. Race conditions reduced 60%, and codebase maintainability improved 15% by the team's own review measure. Also delivered the Primary Sales Tool — 20+ reports and a billing dashboard covering 250 projects — leading a team of three.

Results

By the numbers.

Measured, not estimated
50%
Faster search
35%
Better result accuracy
60%
Fewer race conditions
Stack

What it's built on.

6 components
Ruby on Rails Elasticsearch Query DSL PostgreSQL Mutex design patterns
Contact

Let's build
something honest.