MePhone
An ERP for phone retail: IMEI-level inventory, instalments and collections, repairs, Dubai cargo and a call centre inside the browser.

Key numbers
41
ERP modules
10
External integrations
3
Interface languages
The challenge
Phone retail is not ordinary retail: every handset is tracked individually by IMEI, graded by condition, and once it is sold on instalments the work shifts to customer checks, contracts and monthly collections. On top of that came cargo from Dubai, a repair workshop, several companies (B2C and B2B) and dozens of inbound calls a day. Each of these lived in its own tool or spreadsheet, so the same handset could be sold twice and an instalment payment could go unnoticed.
What we built
We built a multi-company ERP on Go and PostgreSQL with a React interface. Inventory is tracked at IMEI level: serialised phones and accessories follow separate sale paths, so stock is never deducted twice, and condition grading, trade-ins and the repair module are wired into the same records. The instalments block is complete: contracts, payment schedules, debtors, a dedicated collector workspace with bonuses, and a blacklist; customers are verified through MyID and checked against the KATM credit bureau. The call centre was a build of its own: an Asterisk WebRTC softphone runs directly in the browser, with call history, missed calls and recordings inside the ERP, across UzTelecom and Skyline lines plus the OnlinePBX cloud provider. On the finance side there are cash desks and shifts, counterparty balances, expenses, payroll, HR and Hikvision biometric attendance, with AED/USD/UZS conversion at the central-bank rate. Telegram, Facebook/Instagram lead forms and Instagram Direct feed the sales channels.
Results
Sales, inventory, instalments, repairs, cargo, finance and calls came together in one system — 41 modules and several companies under a single permission model (98 modules with four access levels). While an operator is on a call, the customer's card, instalment plan and payment history open in the same place: the softphone is part of the ERP, not a separate program. Even with several tabs open the browser keeps exactly one SIP registration — a leader-election mechanism between tabs was built for that, without which calls were being lost.
Tech stack
- Asterisk
- Docker
- Go
- Hikvision ISAPI
- PostgreSQL
- React
- Redis
- Tailwind CSS
- Telegram Bot API
- WebSocket