

PriceTrack collects pricing data across marketplaces and turns it into something a commercial team can act on: dashboards comparing a catalogue against competitors, price history over time, alerting when something moves, and exports for the people who still live in spreadsheets.
The platform is built by a team across a TypeScript monorepo: a Next.js frontend over a NestJS, Prisma and PostgreSQL API, with Python services alongside it. Most of my work is on the frontend, where the interface leans heavily on TanStack Query and TanStack Table for large, filterable datasets, Recharts for price history, and i18next because the product ships in more than one language. I also pick up changes and features across the backend services that sit behind it.
- The problem
- Retailers selling across many online marketplaces had no single view of how their catalogue was priced against competitors, and pricing decisions were being made on stale spreadsheets.
- My approach
- The team built PriceTrack across a TypeScript monorepo, with a NestJS and PostgreSQL API and Python services doing the heavy lifting behind the scenes. My focus is the frontend — virtualised tables over large product sets, price history charts, configurable monitoring and alerting — and I also implement changes and features across the backend services, so my work does not stop at the API boundary.
- The outcome
- PriceTrack is one of the company's main products and my longest-running contribution there, used by commercial teams to monitor competitors and adjust pricing on live marketplace data. It is very much a group effort: the data collection and backend work it rests on matter at least as much as the interface, and my own contributions run across both.