Portfolio
ORIGINAL PROJECTFULL STACK · MARKETPLACE / DELIVERYFIVEM · 2026
CUSTOMER / COURIER / MANAGEMENT

LB
iFood.

I developed LB iFood for a FiveM roleplay server. The system recreates the experience of a delivery app, connecting stores, buyers and couriers throughout the flow, from order to delivery.

FiveMLuaMySQLReactTypeScript
Open demo

Problem, objective
and implementation.

01 / Problem

Three operations sharing one order

Customers, stores and couriers needed to share order state without letting the interface dictate amounts, stages or payments.

02 / Objective

Connect discovery, purchase and delivery

Build a complete delivery experience with catalog, checkout, preparation, dispatch, pickup, tracking and completion.

03 / My contribution

Flows, business logic and persistence

I developed the React/TypeScript interfaces, NUI integration, Lua client and server modules, and SQL schema evolution.

Key features

What the system delivers.

  • Store catalog and discovery
  • Checkout and coupons
  • Store and team management
  • Courier offers
  • Stage-by-stage tracking
  • Order history
Technical decisions

How risks were addressed.

BackendCheckout rebuilt on the server

The server fetches the persisted catalog and prices, calculates amounts in cents and validates inventory before confirming a purchase.

ConcurrencyOne delivery, one courier

Acceptance uses a conditional database update to prevent two couriers from claiming the same order.

DataHistory preserved through snapshots

Items, prices and destination are copied into the order, keeping the record consistent after catalog changes.

One order,
two perspectives.

The customer finds a store and tracks the order. Meanwhile, the courier receives offers, accepts a delivery and follows the pickup and delivery stages.

Project preview
01
CustomerBrowse, order and track
02
CourierReceive, accept and deliver

The demo shows the original interface in Brazilian Portuguese.

From the phone screen
to order rules.

The system combines the interface, FiveM context, server processing and relational persistence. Select a layer to explore the details.

01 / Role-specific experiences

React / TypeScript

The interface gives customers, couriers and store teams their own flows. Domain-specific TypeScript contracts and NUI services isolate screens, payloads and transitions without duplicating communication rules.

  • Dedicated services for checkout, orders, history, stores and deliveries
  • Types for catalog, team, courier and application states
  • Order updates are applied without resetting active navigation
Roles
3 connected journeys
Contracts
Domain-specific types
Transport
NUI services
CSSReact 19TypeScriptVite