RU EN
← ALL PROJECTS

CASE · ANALYTICS

Custom-built analytics for a marketplace seller

An analytics and reporting platform that automatically pulls marketplace data, bank statements and cost prices into a single model and gives the seller cash flow, P&L and per-SKU unit economics — without manually merging dozens of Excel files. Built for a single client and deployed inside their infrastructure.

ROLE
Sole developer · full-stack
FORMAT
Custom build · client's infrastructure
STACK
React · Node.js · MySQL · PostgreSQL

THE CHALLENGE

Real profit instead of dozens of spreadsheets

The client is a seller on the Wildberries and Ozon marketplaces who was drowning in scattered data: platform reports, bank statements, cost prices, commissions, logistics, advertising — all in different formats and tables. Understanding real profit per product, forecasting sales and seeing cash movement without manually merging dozens of Excel files was practically impossible.

The goal was a single platform built around their workflows that:

FEATURES

What the system does

01

Financial accounting

A journal of operations (income, expenses, transfers), mapping to categories and accounts, automatic classification. Cash flow and P&L reports are built from primary records.

02

Per-product analytics

“Sales by product”, “Unit economics” and “Sales plan control” reports — with margin, drill-down to a single operation, sparklines and trend charts.

03

Cost price

Cost price tracking by date and automatic allocation across sales for correct profit calculation.

04

Planning

Monthly sales plans per product with import, copying and a change log.

05

Integrations

Import of bank statements and arbitrary Excel/CSV files with configurable column mapping and templates.

06

Access management

Permission groups, user invitations, granular access to data and reports.

07

Knowledge base

A knowledge base and a news feed for platform users.

ARCHITECTURE

Services instead of a monolith

The system is built as a set of independent services rather than a monolith — so heavy data synchronization never slows down the UI.

01

API server

The public API for the frontend and all business logic. Runs in cluster mode and scales across CPU cores.

02

ETL worker

A separate sync process: pulls data from the external marketplace database (PostgreSQL), normalizes it and lays it out into pre-aggregated data marts in MySQL. Cron schedulers, a mart-recalculation queue, automatic backups.

03

Realtime server

WebSocket notifications: sync progress, toasts, menu and page updates without reloading.

04

Static server

Serves the SPA and auto-refreshes open tabs on deploy (SSE + build version check).

05

LLM-to-SQL service

Groundwork for the future: the user asks a question in natural language, the service generates and executes SQL over the data via an LLM and streams the answer.

The key data decision

Database access goes only through stored procedures and pre-aggregated data marts. This keeps reports fast on large volumes and gives a single point of control for business logic on the database side.

INTERFACE

Screenshots

Cash flow report
Per-product unit economics
Sales plan control
Bank statement import

ENGINEERING CHALLENGES

Data correctness and performance

This is not CRUD — most of the work went into data correctness and performance:

STACK

Technologies

Frontend
React 18 React Router v6 MUI 5 + Joy UI AG Grid Enterprise AG Charts ApexCharts Socket.io
Backend
Node.js Express PM2 cluster MySQL 8 PostgreSQL node-cron
Infrastructure
Dedicated server PM2 .env-среды Automatic DB backups

HTTPS communication between services with service-level authorization; MySQL access goes only through sp_* stored procedures.

The result

A working production platform that replaces manual report merging and gives the seller a realtime financial picture of the business: from cash flow and P&L to per-SKU margin and sales plan control. Designed, built and shipped to production by one person — including the database schema, every backend service, the entire frontend and the deployment infrastructure.

SEE ALSO

CONTACT

Need custom analytics for your business?

I'll automate data collection and financial reporting for your business — from architecture to production. Message me on Telegram — we'll scope the task, timeline and budget.

Message on Telegram dnovoselov@bk.ru

I reply within 3 hours on weekdays

A project's budget and commercial terms belong to the client, and I don't publish them. Your project will be treated the same way. My own price ranges are in the Pricing section.