Marketplace automation for Kaspi sellers. Collects marketplace product data and gives sellers the tooling to keep their own listings and prices current.
Live: https://smartbid.kz
This repository is a case study, not source code. The application itself is private. What follows is the architecture, the feature set and my role on the project.
A Kaspi seller with a few thousand SKUs is in a pricing race they cannot win by hand. Competitor prices move through the day, the seller's own catalogue drifts out of sync with the marketplace, and keeping listings accurate turns into a full-time data-entry job. The information needed to make the decision is already on the marketplace; getting it into a shape a seller can act on is the actual work.
Product data collection. Automated collection of marketplace product data, normalised into a consistent shape regardless of how the source presents it.
Price synchronisation. Pricing updates flow from the seller's decision back out to their listings, so a change is made once rather than repeated per listing.
Seller dashboards. A workspace where a seller sees their catalogue, manages products and drives the automation rather than watching it.
API and automation. Python with FastAPI. Collection and processing run as pipelines: fetch, normalise, diff against known state, apply updates. Rate limiting and retry handling live inside the pipeline rather than scattered across call sites, because the failure that matters here is a partial sync that leaves a catalogue inconsistent.
Data. PostgreSQL stores products, sellers, pricing history and synchronisation state. Keeping history rather than only the current value is what makes a pricing decision reviewable after the fact.
Frontend. Next.js and React with TypeScript for the seller dashboards and product management workflows.
Next.js React TypeScript Python FastAPI PostgreSQL REST
I built the platform: the FastAPI services and automation pipelines, the PostgreSQL schema for products and pricing state, and the Next.js seller dashboards.