A subscription meal delivery platform for Nuveta

Nuveta sells fresh, fitness-focused meals by weekly subscription and à la carte, cooked in Los Angeles. VLO Labs built the customer storefront and the backend that runs billing, weekly meal selection, kitchen reports, delivery rules and email marketing.

Industry
Meal prep and food delivery
Project type
Client project
Status
Live
Platforms
Web storefront, Web admin panel

The challenge

A meal subscription looks simple from the outside, but each week has a hard sequence behind it. A customer has to pick meals before a cutoff, the kitchen has to know what to cook and for whom, the card has to be charged on the right day, and the box has to reach the right address on the promised date. If any step slips, a meal is wasted or a customer goes without.

Nuveta's rules also differ by delivery method, and customers can have allergies that must keep certain meals off their menu.

The business also needed its own staff to run all of this day to day, including menus, reports, coupons and marketing email, without asking a developer or logging in to a server.

Our approach

We split the product into two parts: a React storefront for customers and a Laravel API with an admin panel for Nuveta's team. The storefront talks only to the API, so every order, price and schedule rule lives in one place on the server.

We put the delivery calendar in a single scheduling service that reads one list of delivery types. Daily automated jobs use it to lock meal selection at the cutoff, charge subscriptions on their billing day and choose meals for customers who did not. New carriers plug in behind a shared shipping layer, and each one can be switched on or off in configuration.

We kept the platform current as it grew. In June 2026 we moved the backend to Laravel 12 and PHP 8.4 by building a new server alongside the old one, verifying it, and then moving the public address across, with the old server kept running as a fallback.

What we built

Customer storefront

A React single-page site with meal plan pages, weekly menus, gift cards, FAQ and a customer account area for managing subscriptions.

Two ordering paths

A subscription path that runs from zip code through plan customization, meal choice, cart and checkout, and a separate à la carte path for one-off orders.

Subscription billing

Weekly auto-renewal with coupons and gift cards, processed through Stripe, with Authorize.Net as a second gateway.

Allergy-aware menus

Allergies are linked to ingredients, and meals containing those ingredients are removed from the menu that customer sees.

Kitchen and fulfillment tools

Printable meal reports, meal labels, shipping labels and delivery reports by date, CSV exports, ingredient prep reports, restocking and low-stock views.

Delivery coverage

An admin coverage map for assigning areas to a delivery method and rate.

Email campaigns

Staff write a campaign in the admin, choose an audience such as leads, active or lapsed customers, send a test and then send. Links carry a coupon that the storefront applies automatically at checkout.

AI assistant for staff

Admin tools built on the Claude API that answer questions about customers, subscriptions, orders and inventory using read-only lookups, including a debugging view limited to one customer's account.

Engineering highlights

One schedule for two kinds of delivery

Delivery methods that calculate dates in opposite directions feed one schedule list, which the lock, charge and renewal jobs all read from. Automated tests cover the date calculations.

Marketing email kept apart from order email

Campaign sends run on their own queue, so a large send cannot delay order confirmations, failed-card notices or password resets. Unsubscribes are checked again at the moment each email goes out, and order and payment messages still reach people who opted out of marketing. Automated tests cover audience rules, one-click unsubscribe and protection against double sends.

Audit trail for customer support

Changes to users, subscriptions, transactions, orders, addresses and payment methods are logged and viewable from the customer's admin profile. Passwords, payment tokens and card numbers are excluded from the log.

Infrastructure defined in code

The API server is described in Terraform with a provisioning script, so a replacement server can be rebuilt from a documented process rather than by hand.

Where it stands

Public storefront
Live at www.nuveta.com
Platform upgrade
Production moved to Laravel 12 and PHP 8.4 on 2026-06-21
Length of the codebase
2,814 commits from July 2020 to October 2026

Technology

Laravel 12PHP 8.4MySQLAmazon RDSLaravel SanctumReact 18ReduxAnt DesignMUIBootstrap 4DataTablesStripeAuthorize.NetSendGridAnthropic Claude APISpatie Laravel PermissionSpatie Laravel ActivitylogRollbarAWS EC2AWS AmplifyAmazon S3Terraform

Links

Related services

Have something similar in mind?

Tell us what you need to build and we will give you a straight answer on how to approach it.

Get a free consultation