Project case study

ArzoMarket

Commerce search and aggregation for Uzbek and regional product discovery.

FastAPI · React · TypeScript · MySQL · Playwright
On this page

Overview

ArzoMarket combines consumer aggregation with B2B discovery and analytics. It was originally developed as Findza and later renamed.

Problem

The same product can appear with inconsistent names and metadata across sources. Aggregation is useful when attribution, freshness, extraction, and matching are reliable.

Architecture

Public commerce sources (planned)
Playwright indexing (direction)
Parsing · entity matching
FastAPI / MySQL
React / TypeScript
Initial product architecture and planned indexing direction; live source coverage is not implied.

The initial implementation uses a monorepo, FastAPI, React, TypeScript, MySQL, DDD-oriented backend structure, JWT, and an /api/v1 namespace. Earlier deployments used Vercel and Render. Later database experiments are history, not a replacement canonical stack.

Documented work

Backend/API structure, auth integration, deployment, and indexing direction form the supplied work. Integration issues included auth responses, route handling, CORS, and frontend base-URL configuration.

Extraction and matching

The preferred direction is Playwright for publicly available dynamic product pages, with parsers, source attribution, respectful rates, and change detection. Candidate sources do not establish live integrations.

An earlier 98%+ entity-matching target is a goal, not measured accuracy. Evaluation needs labeled product pairs and precision/recall before a headline result is meaningful.

Current state and roadmap

Experimental. Uzum, Olcha, Asaxiy, Wildberries, OLX, Telegram, Instagram, and wholesale channels are discussed sources; live coverage is not claimed. Affiliate/lead revenue, B2B subscriptions, promoted listings, and seller services are plans, not stated current revenue.

Artifacts

A verified current demo, repository, screenshots, and coverage metrics have not been supplied.

Last updated 01 Oct 2026Discuss this work