Overview
We partnered with a vehicle-service platform to fix broken valuation listing and search behavior, moving fragile browser-only filtering to a scalable backend and sharpening location-based repair-shop discovery, without rebuilding the underlying valuation engine. The result is filtering, pagination, and map search that users can finally trust.
Challenges
- The "view all valuations" experience did not work correctly because filtering and pagination ran only in the browser, with no server-side support to back it.
- Valuation lists sometimes surfaced the wrong subset of records because tenant and user visibility rules were not consistently enforced.
- Year filters returned wrong results whenever values were compared as numbers in one place and strings in another.
- Ownership filters behaved unpredictably because empty, missing, null, and zero-like values were all treated ambiguously.
- Loading valuations was slow and sometimes incomplete because the full record list was pulled into the frontend at once.
- Search, sort, and filter state in the interface drifted out of sync with what the backend actually returned.
- Nearby repair-shop results looked inaccurate because the search was anchored only to a postal-code center rather than a precise location.
- Legitimate repair shops were being excluded by overly strict rating thresholds, while a fixed search radius left poor or missing coverage in many areas.
- Postal codes broke storage and validation because they were forced into numeric-only handling, and external map and search API failures surfaced as vague, unexplained errors.
Solution highlights
- We built a server-side valuation listing endpoint driven by query-parameter filters for search text, make, year, ownership state, and related metadata.
- We enforced tenant and user-scoped valuation visibility so every list reflects exactly what the viewer is allowed to see.
- We added server-side pagination for "view all" records and switched the app to API-driven filtering instead of loading every record into the browser.
- We normalized frontend filters for year, ownership, search, sort field, and sort direction, and aligned data types so numeric and string mismatches no longer break results.
- We delivered nearby repair-shop search with a configurable minimum rating and configurable radius to suit both urban and rural contexts.
- We added optional address-plus-postal-code geocoding and robust postal-code handling, including text and extended formats, for more accurate location results.
- We introduced optional keyword-based search to improve repair-category matching and added clear UI messaging that surfaces the active radius, rating threshold, and result limitations.
- We strengthened validation and error handling across geocoding, places search, and external API failures with clearer failure states for auth, quota, and no-result scenarios.
- We added integration and regression testing plus acceptance checks covering valuation filters, pagination, and nearby-shop search accuracy.
Outcomes
- Users can now reliably view, filter, sort, and page through their full valuation history without the list breaking or stalling.
- Valuation records stay correctly scoped to the intended tenant and user, removing the risk of seeing the wrong subset of data.
- Year and ownership filtering behave consistently across every value type, so results match what users expect.
- Large valuation lists load quickly because filtering and pagination now happen on the server instead of in the browser.
- Repair-shop discovery returns more accurate, location-aware results thanks to address-level geocoding and adjustable radius.
- Adjustable rating thresholds keep legitimate shops in the results instead of filtering them out too aggressively.
- Users understand why specific shops appear or do not, because search radius and rating criteria are shown directly in the interface.
- External map and search failures now produce clear, actionable messages and fallback states instead of silent or confusing errors.
- Regression risk is lower and changes are safer to ship, with targeted test coverage protecting valuation filtering and location-based search.