Otabek AbdubakiyevFull-stack developer · Tashkent, GMT+5

I build booking systems and admin panels that businesses run on

From database design to launch: online booking, payments, dashboards and Telegram bots. PHP, MySQL, JavaScript, React.

  • 2 live siteson one booking engine
  • 300+ studentson the e‑Lesson platform
  • 5th placeYandex Cup 2025, Frontend

Case 01 · Tour booking platform

Online booking with live seat counts and prepayment

The problem

Hiking clubs in Tashkent took every booking by hand in Telegram. Managers answered the same questions all day, kept track of seats in their heads and checked payment screenshots one by one. People who didn’t get a quick reply booked elsewhere.

The same booking form on a phone
The same form on a phone

What I built

  • Seats that can’t be oversold. Each booking locks the trip row inside a MySQL transaction, so two people can’t take the last seat at once.
  • Prepayment without a payment gateway. The customer uploads a transfer receipt; an admin approves it in one click and the seat is confirmed.
  • Telegram notifications. Every booking lands in the club’s Telegram; the customer gets a link to their ticket.
  • Guide cabinet. Guides see their group list and mark cash paid on the spot.
  • Media library. Chunked uploads up to 300 MB, automatic WebP and video posters, ~1,900 files.
  • White-label engine. One codebase runs both brands; a new club is a config file, not a fork.
  1. 1Customer picks a date
  2. 2Seat is held
  3. 3Receipt uploaded
  4. 4Admin approves
  5. 5Telegram + ticket link

mahalla-travel.uz ↗·brichmulla-travel.uz ↗

Case 02 · e‑Lesson

Management system for private education centers

e‑Lesson · debtors (demo data) Debtors page: 11 overdue subscriptions, 2 never paid, 6,150,000 UZS to collect, Accept payment buttons
e‑Lesson · dashboard (demo data) Dashboard: 34 students, revenue for 30 days up 7%, cash desk and debtors tables

The problem

Private education centers in Uzbekistan run on notebooks, spreadsheets and Telegram chats: who paid, who owes, who came to class. Payments slip through, and chasing debts takes the owner’s evenings.

Accept payment dialog: amount, payment method, date and note
A payment is taken right from the debtors list

What I built

  • Multi-tenant SaaS. Every center gets its own subdomain and branding; data is isolated per center in every query and file.
  • Debtors and SMS reminders. Overdue students are listed automatically and get SMS reminders through a local SMS provider.
  • Cash desk. Every payment is recorded with method, date and who took it.
  • Groups and attendance. Teachers mark attendance; roles keep finances hidden from teachers.
  • Student cabinet. Video and PDF lessons, timed tests, progress and payment history.
  • Tested where money moves. Playwright end-to-end tests cover payments and access rules. Three languages: English, Russian, Uzbek.

300+ students·Product page ↗

Beyond code

Uzum Tezkor

B2B operations manager · one of Uzbekistan’s largest delivery platforms

Before: 6.7%

Cancelled orders at one partnerNow: 0.5%

I watch 1,800+ restaurant and store partners, build SQL and Apache Superset dashboards and fix root causes. At one partner I traced mass cancellations to a single menu item and got it blocked.

Yandex Cup 2025

International programming championship · 5th place, Frontend track

Passed the online rounds, competed in the in-person final in Turkey and took 5th place. The clip is from the official award ceremony.

What I can build for you

  • Booking & reservations

    Seats, time slots, deposits and confirmations. No double bookings.

  • Admin panels & internal tools

    CRM, cash desk, debts and reports instead of spreadsheets.

  • Online school / LMS

    Courses, video lessons, tests, payments and student accounts.

  • Telegram bots

    Orders, bookings and notifications right inside Telegram.

  • Dashboards & SQL reports

    Clear metrics from your own data, in Apache Superset or a custom page.

  • PHP / MySQL projects

    Take over an existing app: fix bugs, add features, speed it up.

How I work

  1. 1

    Clear scope

    A written plan with milestones and a fixed price before any work starts.

  2. 2

    Early demo

    A working link early on, then regular updates you can click through.

  3. 3

    Tested where money moves

    Bookings, payments and balances get automated tests.

  4. 4

    Launch & support

    Deployment, code and access handed over, and help after launch.

Based in Tashkent (GMT+5), overlapping with the European workday. English, Russian, Uzbek.

Have a project in mind?

Send the details on Upwork. Within 24 hours you’ll get my questions, a plan and a fixed quote.

Hire me on Upwork