~/oybek.dev
Book a call
work
Full-stack engineer· Food-tech / ordering

ChatFood → Deliverect

Hired as a backend developer at ChatFood, the regional order-and-pay platform acquired by Deliverect in 2022. A month in, the team moved me to the Vue 3 frontend with zero Vue experience — first PR in a week, high performer by the end of the month. I shipped the order catalog, cart and Apple Pay checkout, contributed Laravel payment links, and built a WhatsApp campaign automation in Retool.

Role
Backend → Vue 3 frontend
Stack
Vue 3, Laravel, Retool
Sector
Food-tech / ordering
Year
2022 · acquired by Deliverect
Shipped
Order catalog, cart, Apple Pay checkout

ChatFood was a regional order-and-pay platform for restaurants — menus, ordering, payments — that Deliverect acquired in early 2022. I joined as an engineer and ended up touching most of the stack: the Vue 3 customer-facing ordering flow, Laravel on the backend, and an internal automation in Retool. This is the honest version of how that went.

Hired for the backend, moved to Vue in a month

I came in as a backend developer. About a month later the team asked me to move to the frontend — Vue.js 3 — and at that point I had written zero lines of Vue. Not "a bit rusty". None.

I took it. Within a week I had my first PR merged. By the end of that first month I was one of the higher-output engineers on the frontend. The trick wasn't talent — it was treating the framework as a thing to learn properly rather than copy-paste my way through: the full Vue 3 reactivity model, the Composition API, component boundaries, how state actually flows. Once that clicked I stopped fighting the framework and started contributing to the design system the rest of the team built on.

That pivot is the whole story here. A senior engineer's value isn't the syntax they already know — it's how fast they can become dangerous in a stack they've never used, without leaving a mess behind. If you want that on your own team, that's the fractional CTO and web app work I do.

Building the ordering flow

The customer-facing product was the order-at-the-table experience: scan, browse, order, pay, all from the phone, no app install. I worked across that flow.

The piece I owned most was the order catalog page — where the customer browses the menu and selects items. Menus in food-tech are deceptively hard: categories, modifiers, combos, sold-out states, dietary flags, images that load on bad restaurant Wi-Fi. It has to feel instant on a mid-range phone or people abandon the order. I built it in Vue 3 with the design-system components, kept the state predictable, and made sure the slow paths (images, network) degraded gracefully instead of blocking the menu.

From there I worked on the cart — add, edit quantities, modifiers, the running total — the connective tissue between browsing and paying.

Abstract neon-green circuit traces forming a branching menu-to-cart-to-checkout path on a near-black grid
The order-at-the-table flow: catalog, cart, checkout

Apple Pay checkout

Checkout is where a food order is won or lost. I implemented Apple Pay in the checkout so a returning customer could pay in a couple of taps instead of typing a card number on a phone keyboard. Wallet payments are the right call for order-at-the-table — the faster the pay step, the more orders actually complete. Getting it right is the usual payments work: the Apple Pay session and merchant validation, the payment-sheet UX, and the handoff to the payment provider so the success and failure states are honest.

Backend: payment links

I didn't only live on the frontend. On the Laravel backend I contributed to the payment links feature — generating a shareable link a restaurant could send a customer to collect payment outside the in-app flow (phone orders, deliveries, follow-ups). It's a small surface with a lot of edge cases: link state, expiry, the provider webhooks that confirm a payment, idempotency so a link can't double-charge. This is the kind of backend I build day to day — see Laravel and the payment work on PropertyCheck.

Retool + WhatsApp automation

The last piece was internal tooling. The team wanted an automated WhatsApp campaign — reach a segment of customers with a message, on a schedule, without an engineer running it by hand each time. I built it as a script in Retool, which I'd also never used before. I shipped a working version in a few days: pull the audience, compose the campaign, push it through the WhatsApp messaging API, with the controls a non-engineer could actually operate.

It's a small thing, but it's the same pattern as the Vue pivot — pick up an unfamiliar tool, understand what it's actually for, ship something real fast, instead of waiting to feel ready.

What I took from it

ChatFood is the project I point to when someone asks whether I can work outside my comfort zone. Backend hire, Vue 3 frontend in a month, Laravel payment links, a Retool automation — breadth, on a real product, under acquisition timelines. That range is what I bring to web apps, commerce builds and projects like NIO MENA, Geely UAE, Emarat and alfii.

Have something like this in mind?

Start a project