This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle
What I built
NightPrep is a nightly prep sheet for an independent food truck. The owner types the stop, the temperature, whether rain is coming, and a note ("soccer lets out at 8"). The app returns how many of each item to cook, the closest past night, and a sidewalk sign.
A truck owner would pay for this. Over-prepping carnitas is trash. Under-prepping al pastor is a line of people who leave. The number has to come from their own nights, not a chatbot guess.
Who it is for
One truck, one neighborhood, one service window. The sample history is 48 nights of a taco truck in East Cesar Chavez. Dry nights prep about 64 al pastor. Rain nights drop that to 44.
How it works
A Mastra workflow, night-prep, runs the same steps every time:
- Forecast units from the sales table.
- Find a similar past night.
- Look up events near the stop.
- Write the sign and the story caption.
- Save the run.
- Hand the save to a Temporal workflow so a blip retries.
TabPFN-3.5 is the forecast when PRIOR_API_KEY is set. Without it, the app uses the mean of matching history and labels the chip history-mean. It does not pretend the mean is TabPFN.
Gemma writes the sign. Ollama is tried first, so the note can stay on the laptop. Google AI Studio (gemma-4-26b-a4b-it) is the fallback. The request asks for JSON with sign and story. If that parse fails, the sheet keeps the template and the chip says template, not gemma-google.
Similar nights go to Tiger Data with pgvector plus a keyword filter. SerpApi supplies nearby events. MongoDB stores the run. ElevenLabs speaks the cook brief when the key is valid. Sentry wraps each step in a span.
Why open innovation matters
The useful part of this business is the truck's own sales and the owner's note about who is nearby. A closed chat API would bill them every night and hold the recipe margins. Gemma is an open weight, so the copy step can run on the laptop and can be swapped without rewriting the workflow. TabPFN fits the small sales table directly. A general model would invent a plausible number. The table already knows.
Demo
Live: [nightprep-jxms.onrender.com]
Repo: [github.com/nashdev97/nightprep]
nashdev97
/
nightprep
Nightly prep sheet for an independent food truck. Gemma writes the sign. TabPFN forecasts the cook counts.
NightPrep
Prep sheet for an independent food truck. The owner enters tonight's stop. The app forecasts how many of each item to cook, finds a similar past night, and writes the sidewalk sign.
Open-weight Gemma writes the copy, so recipe notes and margins do not have to go through a closed chat model. TabPFN-3.5 forecasts units from the truck's own sales table. A general chatbot guesses. This fits the history.
Flow
- Forecast units (TabPFN-3.5, or a history mean when no key is set).
- Hybrid search for a similar night (Tiger Data pgvector, or a local seed).
- Live event search (SerpApi).
- Sign and story (Gemma via Ollama, or Gemma on Google AI Studio).
- Save the run (MongoDB Atlas).
- Durable retry of the save and index (Temporal).
- Spoken cook brief (ElevenLabs).
- Spans on each step (Sentry).
Mastra runs that sequence as the night-prep workflow. A Mastra agent with the same tools isβ¦
A sheet on the live host (Austin, East Cesar Chavez, 78F, soccer note) returned:
- forecast:
tabpfn-3.5 - similar:
tiger-pgvector - events:
serpapi - copy:
gemma-google, sign: "East Cesar Chavez food truck fun in 78 degree weather!" - schedule:
temporal-offline/tigerbecause the Temporal worker runs next to local Docker, not on the free web service - memory:
mongodbon the laptop. The public host was refused by Atlas (tlsv1 alert internal error), so that sheet saysskippeduntil the cluster allows Render's network
Voice asks for a valid ELEVENLABS_API_KEY instead of failing silently. The key on this machine is still rejected.
Prize categories
- Best Use of Render
- Best Use of Gemma
- Best Use of TabPFN
- Best Use of Mastra
- Best Use of MongoDB Atlas
- Best Use of Tiger Data
- Best Use of Temporal
- Best Use of ElevenLabs
- Best Use of Sentry Agent Tracing
- Best Use of SerpApi

Top comments (0)