Case study · FilterCrossHub

A parts cross-reference platform that answers in milliseconds

How I built filtercrosshub.com: a Next.js and Laravel cross-reference search platform returning results in milliseconds across 7M+ heavy-machinery parts records.

Client
FilterCrossHub
Role
Full-Stack Developer, Contract
When
Jul 2026 - Sep 2026
Where
Remote
FilterCrossHub screenshot
FilterCrossHub, live in production.filtercrosshub.com

Overview

FilterCrossHub is a reference platform for the people who keep heavy equipment running: service-bay technicians, parts counters and fleet maintenance teams. A technician has a filter in their hand, or a part number on a work order, and needs to know which equivalent filters from other manufacturers will fit.

I built the platform end-to-end as a contract full-stack developer: the customer-facing search application in Next.js, the administration panel in Laravel, the MySQL database design, the data-import tooling, Docker containerisation, server configuration and the production deployment at filtercrosshub.com.

The live site covers eight filter categories (air, oil, fuel, hydraulic, cabin, coolant, transmission and process) across equipment types from earthmoving and agriculture to transport, power systems and industrial plant. It indexes 4,743 source manufacturers, including Fleetguard, Donaldson, WIX, Baldwin, MANN, Bosch and Parker.

The challenge

Cross-referencing filters is a lookup problem at scale. The catalogue holds more than 7 million parts records, and a technician at a service counter won't wait for a slow search. Results had to come back in milliseconds, with no noticeable delay.

Speed alone isn't enough. A cross-reference is only useful if it keeps the original manufacturer's context: the source part, its dimensions, fitments, OE numbers and specifications. Otherwise a technician can't trust the match.

The data also never stops changing. Administrators needed a safe way to load large datasets without breaking what's already there, and the platform needed a way to learn which parts people search for but can't find.

How it fits together

The platform is split into a public search application and an administration back office, sharing one MySQL catalogue. Everything runs in Docker containers on a server I configured and deployed.

People

  • Technicians & parts teamsSearch by part number or dimensions
  • AdministratorsManage catalogue and imports
▼HTTPS

Applications

  • Next.js customer appSearch, results, record detail
  • Laravel admin panelParts, imports, review queue
▼queries & writes

Data

  • MySQL catalogue7M+ parts records, cross-references
  • Unresolved-search queueMissed queries for review
  • Visitor analyticsReal-time monitoring
▼runs on

Infrastructure

  • Docker containersServer configuration & production deployment
High-level architecture of filtercrosshub.com.

Key workflows

The processes the system runs, step by step. Amber steps are checks or gates; green steps are the outcome.

Cross-reference search

The core journey: a technician enters a part number (or searches by dimensions) and gets equivalent filters back instantly, each with its source context intact. When nothing matches, the miss isn't wasted. It goes to the admin panel so the catalogue can grow where demand actually is.

  1. 01Enter part numberOr switch to dimension search
  2. 02Search the catalogueMillisecond lookup across 7M+ records
  3. 03Match found?
  4. 04Show cross-referencesSource imagery, dimensions, fitments, OE numbers, specs

from 03 · No match: the query is forwarded for review

  1. Log unresolved search
  2. Admin reviews query
  3. Approve & add to catalogue

Bulk CSV import

Large datasets arrive as CSV files. The import tool validates data and detects duplicates so administrators can upload big files efficiently and safely, without corrupting the existing catalogue.

  1. 01Upload CSVFrom the Laravel admin panel
  2. 02Validate data
  3. 03Detect duplicates
  4. 04Import records

Bidirectional cross-referencing

Cross-references work in both directions. A match from part A to part B is also discoverable from part B, including HiFi product references, so a technician gets the same answer whichever part number they start from.

  1. 01Part AAny manufacturer
  2. 02Cross-reference linkDiscoverable from either side
  3. 03Part BIncluding HiFi products

What I built

  • Customer app and admin panel

    A Next.js customer-facing application for search, and a Laravel administration panel for managing the catalogue, reviewing missed searches and running imports.

  • Database and search design

    Designed the database architecture and optimised the search workflow so cross-reference results return in milliseconds across more than 7 million parts records.

  • Bulk CSV imports

    Import tools with data validation and duplicate detection, so administrators can upload large datasets efficiently and safely.

  • Unresolved-search workflow

    Searches that find nothing are forwarded to the admin panel for manual review, approval and catalogue expansion, so the data improves with every miss.

  • Manual parts management

    Administrators can also add and edit individual parts by hand, for corrections and one-off additions that don't justify a full import.

  • Monitoring and deployment

    Real-time visitor monitoring, Docker containerisation, server configuration and the production deployment.

Results

7M+
parts records searchable with no noticeable delay
530,916
curated cross-reference records live on the site
4,743
source manufacturers indexed
8
filter categories, from air and oil to hydraulic and process

Stack

  • Next.js
  • Laravel
  • PHP
  • MySQL
  • Docker
  • CSV data pipelines
  • Web analytics

Questions

What is FilterCrossHub built with?
The customer application is built in Next.js, the administration panel in Laravel (PHP), and the catalogue lives in MySQL. The platform runs in Docker containers.
How big is the FilterCrossHub catalogue?
More than 7 million parts records, with 530,916 curated cross-reference records across 4,743 source manufacturers at the time of writing.
What happens when a part number isn't found?
The unresolved search is forwarded to the administration panel, where it's reviewed and, if approved, added to the catalogue.

Have a similar project?

I take on contract and full-time work from Muscat, Oman and remotely. Tell me what you're building.

Get in touch

More case studies