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
Links
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