-
-
The landing page
-
Dashboard, showing progress at a glance
-
The list of products, showing their margins, and success.
-
Update the recipe here. Additional metrics are shown
-
This prefilled list of common ingredients makes entry of recipes much easier. Just add the ones you actually use.
-
Ingredients and prices can also pulled directly from receipts
-
The user can also enter in ingredients using their own voice
-
Calendar of past and future bookings for a truck
-
Entering a new booking
-
Using the data from similar events in the past, we can help you predict what you need to prep
-
After the booking is complete and closed, we can calculate margins
-
Once the user has stated how much they need for a certain event, a grocery list can be made.
-
Reporting of trends, best and worse performers, and other insights.
-
Various settings
-
Users can also import data from CSVs generated from other POS systems
## Inspiration
I like producing software that helps ordinary people. Food truck operators are a good example. Most of them get into it out of passion, which is great, but passion and careful bookkeeping don't always go together. Venturing out without data is a sure way to end up in a financial mess. You sell out too early one week, you throw away a pile of food the next, and a dish you love might be losing money on every plate without you ever knowing it.
I'd been prompting with an AI engine for a while, poking at the question of who's running a real business but mostly flying blind, and this was the idea that came out of it.
## What it does
GriddleMath takes a day of service and breaks down the numbers the way an accountant would, if a food truck could afford one. It pulls the sales from Square, or manually entered and works out the margin on each item, the food cost, how much got wasted, what got comped, what got discounted. Then it gives you recommendations in plain English: prep more of this, raise the price on that, go find out why you're wasting so much of the other thing. No spreadsheets, no accounting jargon.
It also looks ahead a little. The prep planning feature checks how an item sold at similar events in the past and suggests how much to make for the next one, so you're not just guessing when you load up the truck.
## How we built it
It's a real, live product, and a lot of it runs on the sponsors' platforms. The app is built on Next.js and hosted on Vercel, which also runs the background jobs that recalculate margins and recommendations on a schedule. The data sits on Amazon Web Services: an Aurora PostgreSQL database, KMS to keep sensitive tokens encrypted, and Textract for reading photos of invoices. Around all of that there's sign-in with Google, Apple, or email, and support for several trucks and several people on one account, each with their own role. I did all of it myself, and it took about three or four days.
## Challenges we ran into
The hardest part wasn't the math. It was getting the setup, all the ingredients and prices and recipes, to be as painless as I could possibly make it. Truck operators don't have a lot of time. If getting started is a chore they won't stick with it, and then there's no good data to work from and the whole thing falls apart.
So I tried to let people enter their data the way it actually shows up. Take a photo of a supplier invoice and Textract reads the vendor and the line items and the prices off it, and GriddleMath matches them against your pantry, so a whole delivery goes in at once. If your hands are full at the commissary you can just say it out loud, something like "carne asada, seven twenty a pound," and it works out the rest. Speech recognition loves to mangle a spoken price, so there's a bit of logic that picks the most sensible number out of what it heard. Most of the real work went into smoothing out those few screens.
## Accomplishments that we're proud of
It's not a mockup. It's deployed, and a real operator could start using it today. I'm happy with how much the recommendation engine actually covers, from selling out too early to discounts quietly eating into your margin, and how it explains each one in a way you can do something about. And honestly, watching a receipt photo or a spoken sentence turn into clean pantry entries is still my favorite part to show people.
## What we learned
The thing that surprised me most was this: if you make the data collection easier, you get good data, and once you have good data to work with, the recommendations almost write themselves. I went in assuming the clever analysis would be the hard part. It wasn't. The payoff was all upstream, in how little effort it took to get information into the system in the first place. Lower the friction at the front door and everything after it gets better, honestly more than I expected going in.
## What's next for GriddleMath
The forward-looking side is where I want to spend more time. Prep planning is just a start, and it should get sharper as more service history builds up, especially once it starts accounting for the things that really swing a truck's numbers, like the weather or the day of the week or which event it is. I'd also like to go deeper into the tools operators already use, get it working nicely on a phone at the truck window, and keep adding to the recommendations as I learn more about what operators wish they'd known sooner.
Built With
- amazon-aurora
- apple-oauth
- auth.js
- aws-kms
- aws-rds-data-api
- aws-secrets-manager
- aws-textract
- drizzle-orm
- google-oauth
- next-auth
- next.js
- react
- resend
- sql
- square
- tailwindcss
- typescript
- vercel
- web-speech-api
Log in or sign up for Devpost to join the conversation.