All Projects

OnlineOrderingSystemforRestaurantChain

A real-time online ordering platform for Fuego Kitchen that brought in $45K per month in new revenue with location-based routing, Stripe payments, and kitchen display integration.

Client

Fuego Kitchen

Role

Full-stack Developer

Duration

6 weeks

Date

May 2025

Next.jsTypeScriptStripeRedisTailwind CSS

Key Results

$45K/month in online orders (from zero)

0%

higher average order value than in-store

0

.5% uptime during peak hours

The Challenge

Fuego Kitchen is a five-location Mexican restaurant chain across the Northeast US. When the pandemic forced them to rethink their business model, they scrambled together a solution using a third-party ordering platform that took a 30 percent commission on every order. Two years later, those fees were eating into margins and they had zero control over the customer experience. Delivery instructions were lost, the menu was hard to update, and there was no way to upsell or promote specials. Fuego Kitchen needed their own ordering system that could handle peak-hour traffic across all five locations without breaking.

The Approach

I built a custom ordering platform on Next.js with Tailwind CSS for a fast, mobile-first experience that matched Fuego Kitchen's bold brand. The system used browser geolocation and IP-based fallback to automatically route customers to their nearest location, displaying that location's specific menu, hours, and estimated prep times. Managers at each location could update their menu in real time through an admin panel, toggling items as unavailable when ingredients ran out.

Payments were handled through Stripe with support for Apple Pay and Google Pay for a frictionless mobile checkout. To keep the ordering experience snappy even during Friday night rushes, I used Redis for cart management with automatic expiration, ensuring that abandoned carts released reserved inventory and that the server never wasted memory on stale sessions.

// Redis-backed cart with TTL and inventory reservation
import Redis from "ioredis";
 
const redis = new Redis(process.env.REDIS_URL);
const CART_TTL = 1800; // 30 minutes
 
interface CartItem {
  menuItemId: string;
  name: string;
  quantity: number;
  price: number;
  modifiers: string[];
}
 
export async function addToCart(
  sessionId: string,
  item: CartItem
): Promise<CartItem[]> {
  const key = `cart:${sessionId}`;
  const cart = await getCart(sessionId);
 
  const existing = cart.find(
    (i) =>
      i.menuItemId === item.menuItemId &&
      JSON.stringify(i.modifiers) === JSON.stringify(item.modifiers)
  );
 
  if (existing) {
    existing.quantity += item.quantity;
  } else {
    cart.push(item);
  }
 
  await redis.setex(key, CART_TTL, JSON.stringify(cart));
  return cart;
}
 
export async function getCart(sessionId: string): Promise<CartItem[]> {
  const data = await redis.get(`cart:${sessionId}`);
  return data ? JSON.parse(data) : [];
}

Kitchen Integration

The most impactful feature for the restaurant staff was the kitchen display system. When an order was placed and payment confirmed, it was pushed via WebSocket to a tablet mounted in each kitchen. Line cooks could see incoming orders in real time, tap to acknowledge them, and mark items as completed. The customer-facing order tracker updated automatically, giving diners an accurate estimate of when their food would be ready.

I also built a simple analytics dashboard that showed each location's order volume, peak hours, most popular items, and average prep times. This data helped Fuego Kitchen's management make staffing decisions and identify which menu items to promote. The upsell engine, which suggested add-ons like guacamole or churros during checkout, was directly responsible for the higher average order value compared to in-store purchases.

Results and Impact

The platform went live across all five locations in a staggered one-week rollout. Within the first full month, Fuego Kitchen processed over $45,000 in online orders, revenue that had previously either gone to a third-party platform or did not exist at all. The average online order was 22 percent higher than the in-store average, driven by the upsell prompts and combo suggestions. The system maintained 98.5 percent uptime during peak hours, even handling a spike of 200 concurrent orders during a Super Bowl weekend promotion.

By eliminating the third-party platform's commission, Fuego Kitchen saved an estimated $13,500 per month in fees on equivalent order volume. The kitchen display system reduced order errors by roughly 35 percent compared to the old method of printing tickets, and prep time estimates became accurate enough that customer complaints about wait times dropped to near zero.

Interestedinsimilarresults?

Let's talk about your project and see how I can help you achieve your goals.