• Townie
    AI
  • Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
connnolly

connnolly

cardamom

Unlisted
Like
2
cardamom
Home
Code
7
.cursor
1
backend
3
frontend
3
shared
1
.vtignore
README.md
deno.json
Branches
2
Pull requests
Remixes
History
Environment variables
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
README.md
Code
/
README.md
Search
6/14/2025
Viewing readonly version of main branch: v59
View latest version
README.md

Recipe Parser App

A mobile-friendly web application that captures, parses, and stores recipes from multiple sources including URLs, PDFs, and images.

Features

  • Multi-source Recipe Input: Accept recipes from:
    • Web URLs (recipe websites)
    • PDF files
    • Images (photos of recipes)
  • Intelligent Parsing: Automatically extracts:
    • Dish title
    • Ingredients with quantities
    • Cooking steps/instructions
  • Mobile-Friendly: Responsive design optimized for mobile devices
  • Recipe Storage: Persistent storage of parsed recipes
  • Recipe Management: View, edit, and organize saved recipes

Tech Stack

  • Frontend: React with TypeScript, TailwindCSS
  • Backend: Hono API framework
  • Database: SQLite for recipe storage
  • AI: OpenAI GPT-4 for intelligent recipe parsing
  • File Processing: PDF parsing and image OCR capabilities

Project Structure

├── backend/
│   ├── database/
│   │   ├── migrations.ts    # Database schema
│   │   └── queries.ts       # Database operations
│   ├── routes/
│   │   ├── recipes.ts       # Recipe CRUD operations
│   │   └── parse.ts         # Recipe parsing endpoints
│   └── index.ts             # Main API entry point
├── frontend/
│   ├── components/
│   │   ├── App.tsx          # Main app component
│   │   ├── RecipeForm.tsx   # Recipe input form
│   │   ├── RecipeList.tsx   # Recipe listing
│   │   └── RecipeView.tsx   # Individual recipe display
│   ├── index.html           # Main HTML template
│   └── index.tsx            # Frontend entry point
└── shared/
    └── types.ts             # Shared TypeScript types

API Endpoints

  • POST /api/parse/url - Parse recipe from URL
  • POST /api/parse/pdf - Parse recipe from PDF
  • POST /api/parse/image - Parse recipe from image
  • GET /api/recipes - Get all recipes
  • POST /api/recipes - Save a recipe
  • GET /api/recipes/:id - Get specific recipe
  • PUT /api/recipes/:id - Update recipe
  • DELETE /api/recipes/:id - Delete recipe

Usage

  1. Open the app in your browser
  2. Choose input method (URL, PDF, or image)
  3. Submit your recipe source
  4. Review and edit the parsed recipe
  5. Save to your recipe collection
FeaturesVersion controlCode intelligenceCLI
Use cases
TeamsAI agentsSlackGTM
ExploreDocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.