02 / systems & automation
A structured recipe system built from a year of personal cooking. Built with Python, OpenAI, and Next.js 14 to transform messy notes into a unified schema and fully static site.
I spent a year collecting 80+ recipes in Notion, but the data became messy fast. Notes, formatting, and structure weren't consistent or exportable at all. I needed something clearer, so I built an end-to-end pipeline to reorganize everything and export it into a site.
I wrote a Python script that parses the exported CSV, cleans and normalizes the data using OpenAI's API, and outputs a unified JSON schema with consistent fields across every recipe. From that structured data, I built a static site using Next.js 14, TypeScript, and Tailwind CSS.
The site features dynamic routing, reusable component architecture, category filtering, full-text search, and cross-linked recipe suggestions based on ingredients and categories.
I built the data pipeline in Python with OpenAI handling the text cleanup, and the site with Next.js 14, TypeScript, and Tailwind. The project taught me how to take messy, human-written content and shape it into something structured and usable. I learned how to design a schema that actually holds up, how to move data through gentle, predictable transformations, and how to generate a static experience that feels cohesive end to end. More than anything, it reinforced how much I care about building systems that stay simple even as they grow.