Mikheil Chkhvirkiaმიხეილ ჩხვირკია

13 · 2026 · Live

VeloExpress

Parcel forwarding from Turkey, China and the USA to Georgia: the site, the customer cabinet and the whole back office.

Live site ↗

The story

VeloExpress is a working Georgian parcel-forwarding company: customers shop at Turkish, Chinese and American stores using personal warehouse addresses, and VeloExpress flies the parcels to Tbilisi. I built the platform alone and from scratch: the public site with a price calculator, the customer cabinet where parcels are declared, paid and tracked, and the staff panel that runs the business day to day, from receiving parcels off flights and shelving them to courier delivery, SMS and email notices, support chat, roles and an audit log. Payments go through the Bank of Georgia with verified callbacks. At the pickup point, Android tablets let a customer type their ID: staff get a queue with shelf numbers, and an unpaid balance shows a QR code to pay on the phone, so nothing leaves unpaid. The stack is Next.js 16 and Supabase on Vercel, with 95 database migrations and a load test on a copy of 12,000 migrated customers.

One system runs the company, from the customer's first order to the parcel leaving the shelf.

My role

Sole developer: the full build from scratch, from the public site and customer cabinet to the staff panel, payments and pickup tablets.

With

VeloExpress, a Georgian parcel-forwarding company.

Stack

Next.js 16 · Supabase · Bank of Georgia payments · Android kiosk

How I built it
  1. Every customer gets personal warehouse addresses abroad, declares parcels, pays and tracks them in a Georgian-language cabinet.
  2. A staff panel with more than twenty sections: parcels, flights, warehouses, shelves, tariffs, courier, support chat, SMS and email templates, roles and an audit log; staff sign in with two-step login.
  3. Card payments through the Bank of Georgia with signed callbacks; nothing is handed out unpaid.
  4. Android tablets at the pickup point: the customer types their ID, staff get a queue with shelf numbers, an unpaid balance shows a QR code to pay on the phone.
  5. Load-tested on a copy of 12,000 migrated customers: about 25 ms of server work per cabinet page; 95 database migrations and 87 test files.