Case Study

TruckOff

TruckOff is a full-stack web application built for a truck wholesale business in Australia. It automates the aggregation of truck listings from 27 unique retailer websites and offers a modern, filter-driven browsing experience for wholesale buyers.

Truck wholesaleRogan Sturrock
TruckOff's cover image

Key metric

27

Retailer Sources Automated

Outcome

Automated inventory aggregation and delivered fast filtering for wholesale buyers.

Tools

Next.jsExpress.jsMongoDBPuppeteer

Contributions

  • Frontend development
  • Backend development
  • Database integration

Challenges

Each truck retailer used different page structures, labels, and content formats. Automating the data scraping process required building site-specific extraction logic and handling inconsistencies in vehicle details like pricing, features, and availability.

Another challenge was that the client wanted a modern eCommerce-style interface with sorting, filtering, and responsive design—on top of a large and growing dataset. Maintaining snappy UX while applying complex filtering logic on nested fields posed a significant challenge.

Solutions

To automate data collection, I used Puppeteer to simulate user interaction with each retailer's site. I first scraped truck listing URLs, then visited each listing page to extract fields like title, price, specs, and images. I built normalization logic to clean and structure the data, then stored it in MongoDB.

For filtering, I engineered a client-side filtering engine using optimized JavaScript array methods and MongoDB queries for server-side efficiency. I designed a responsive UI using Next.js, ensuring the filtering interface remained intuitive and performant—even with large datasets and deeply nested attributes.

Notable features

  • Automated data pipeline for 27 truck retailers using Puppeteer
  • Advanced filter engine with sort, category toggles, and search
  • Mobile-first, pixel-perfect responsive design
  • MongoDB integration for dynamic inventory

1 / 7

Let's Work Together

Have an exciting
project?

I'm open to freelance opportunities and interesting collaborations. Let's have a quick chat to see if we're a good fit.

We use cookies to personalize your site experience.