Farm-to-Table Software: How I Built a Thanksgiving Party Hub with Lovable & Hacked Recipes with ChatGPT
In this special pre-Thanksgiving episode, I'll show you my personal workflow for vibe coding a custom party hub with Lovable, Midjourney, and Google Fonts. Plus, I'll share my favorite AI trick for transforming any messy online recipe into a clean, kid-friendly format using ChatGPT.
Claire Vo
Full episode
Watch or listen
Workflows from this episode
- How to Reformat Any Online Recipe for Easy Cooking with a Simple ChatGPT Prompt
- How to Build a Custom Party Planning App with Lovable and Midjourney
Episode outline
I built a personalized Thanksgiving party hub because hosting a big holiday meal gets chaotic fast. Between tracking RSVPs, coordinating dishes, managing dietary restrictions, and trying to follow recipes with flour-dusted hands, the usual tools never quite fit how my family actually gathers. So instead of interviewing a guest, I decided to bring you into my kitchen and my code editor and show you the AI workflows I use to solve those very real problems.
In this episode of How I AI, I build a party-planning app in Lovable, then reformat a recipe for easier cooking with ChatGPT. The Lovable workflow starts with a functional but generic draft, then adds a more personal visual system with Google Fonts and a Midjourney header. The result is what I call "farm-to-table software": small software shaped around how my family actually hosts.
The recipe workflow solves a different problem. I turn a cluttered recipe into numbered instructions with the relevant measurements inside each step, so I do not have to scroll between the ingredient list and the method while cooking with my kids.
Both workflows begin with a specific annoyance and improve through iteration, taste, and details drawn from real life.
Building a "farm-to-table" Thanksgiving party hub
How to Build a Custom Party Planning App with Lovable and Midjourney: Build a small event hub that centralizes guests, dishes, recipes, and photos, then personalize it with intentional typography and art while making dietary information clear and usable.
I wanted a central hub for Thanksgiving: invites, potluck coordination, recipes, and a shared photo gallery all in one place. Standard e-vites always feel a little transactional to me, so I used Lovable to vibe code something that felt more like hosting at home.
The initial prompt in Lovable
I started with a very simple prompt. Just the core functionality I knew any large holiday gathering would need.
Build a Thanksgiving party hub for managing invitations, dishes, shared recipes, and photos.

The first result worked, but it looked generic: a stock-style photo, awkward spacing, and little personality. It was a functional starting point, not a design I wanted to keep.
Choosing typography with Google Fonts
Typography is one of the fastest ways to improve a design. People sometimes assume vibe coding tools are closed systems, but most of them, including Lovable, work well with Google Fonts.
I use resources like Canva's Font Combinations page for inspiration. For this project, I wanted something cozy and handwritten, so I picked a pairing that reminded me of a family recipe card:
Once I picked the fonts, I gave Lovable a very direct prompt to implement them:
I want to use Google fonts. Homemade apple for the headlines and railway for the body.
That one change made the app feel warmer and more personal. Lovable also lets you inspect the generated files, so I could see the Google Fonts call, Tailwind configuration, and CSS updates in context. Reading those changes is a useful way to learn the front-end patterns behind the design.
Designing a custom header with Midjourney
Next, I replaced the generic header image in Midjourney. I often start with a style reference shared by another creator, then adapt the subject and composition for my project.
I found a whimsical paper-cutout style from a creator named Michael Ramone and adapted the prompt for a Thanksgiving scene.
geometric paper, autumnal harvest table

The first image was square, but the app needed a wide banner. I reused the prompt, removed the fixed aspect-ratio parameter (--ar 1:1), and selected a wide 2:1 format in Midjourney. That produced the Tuscan-hills-meets-California-Thanksgiving look I wanted.
Once I had the image I wanted, I brought it back into Lovable with a multi-part prompt to redesign the header:
Here is the image I want for the background. I also want the title of the page to be Claire's Thanksgiving Feast. And all the copy to be more personalized around Claire hosting Thanksgiving at home.
This one change took the app from a generic template to something that truly felt like my party hub.
Adding custom features for real-life needs
This is where vibe coding becomes genuinely useful. My family has vegans, gluten-free people, dairy-free people, and people who want to eat absolutely everything. Most invitation apps do not handle that complexity well, so I added custom dietary-restriction features directly into the app.
The wording here mattered a lot because I wanted a specific UI behavior:
Let's add dietary preferences, restrictions to the guest list. Let's start with a multi-select of the most common ones.
The term multi-select told Lovable I wanted checkboxes rather than a single text field. The resulting form let guests choose more than one option and included common entries such as vegan, gluten-free, dairy-free, and no restrictions.

Then I connected those dietary preferences to the dish-coordination flow. I asked Lovable to reuse the tags on dishes so guests could see how each dish had been labeled. These tags help communicate preferences, but hosts should still confirm ingredients and cross-contamination risks directly with guests.
Reuse these dietary-preference tags on dishes so people can label common allergens and ingredients.

The app now connected guests, dishes, and dietary needs in one lightweight data model. That is the value of a custom tool here: I could shape the invitation flow around the details my family actually needs.
Reformatting recipes with ChatGPT
How to Reformat Any Online Recipe for Easy Cooking with a Simple ChatGPT Prompt: Turn an authorized recipe into a cook-friendly working copy with numbered steps and inline quantities, while preserving the source ingredients, temperatures, timing, and attribution.
I love cooking with my kids, but most online recipes are formatted terribly for actual cooking. Ingredients live at the top, instructions live at the bottom, and you spend the entire time scrolling with messy hands trying to remember measurements. My fix is simple: I use ChatGPT to completely reformat them.
Grab your recipe
I started with one of my favorite Thanksgiving recipes: Polenta and Sausage Stuffing. It's gluten-free, incredibly good, and perfect for a crowd. I copied the entire recipe page, including the intro text, ingredients, and instructions.
The reformatting prompt
Next, I pasted everything into ChatGPT with a very specific formatting prompt. The goal was not creativity. It was usability.

Here is a recipe. Please format it into a different structure.
Title
Description
Cook time
Ingredients
Servings
Instructions
For instructions, I want them clearly in steps, step one, step two, et cetera, and I want to make sure both the ingredients and the measurements are in line, so I do not have to go back and reference the ingredients list.The key instruction is the final one: explicitly tell the model to embed ingredient measurements directly into each cooking step.
The result, a cook-friendly format

ChatGPT returned numbered instructions with measurements inside each step. Instead of only saying "add water and salt," the reformatted version says, "Bring 6 cups of water and 2 tsp salt to a boil." I still compare the result with the source recipe before cooking, especially quantities, temperatures, timing, and allergen information.
The same preference for clear, kid-friendly instructions shows up in Runaway Pancakes, a recipe site my son and I made. The format lets a child follow one step at a time without repeatedly jumping back to the ingredient list.
The party hub worked because it was personal
The party hub improved when I added my own design choices and features based on how my family hosts. The recipe became easier to use when ChatGPT reorganized existing information around the physical act of cooking. In both cases, the useful result came from a narrow problem, a rough first draft, and specific iteration.
A good personal AI project does not need to be broadly useful. Start with a recurring annoyance in your own home, build the smallest version that helps, and keep the judgment calls for yourself.
Watch or listen
Sponsors
Thanks for supporting How I AI
Make your app enterprise-ready today
Build your next product with ChatPRD
Turn an idea into a PRD, user stories, and a plan.


