winn
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.
Viewing readonly version of main branch: v18View latest version
A simplified implementation of an AI-powered wine blending assistant built on Val Town.
The Terroir Harmony AI Blend Designer is a custom AI application designed for boutique winemakers. It leverages AI to propose wine blend compositions, predict sensory profiles, and assess market suitability.
- Blend Composition Generator: Input desired wine characteristics and get AI-generated blend ratios
- Sensory Profile Prediction: Receive detailed tasting notes and aroma descriptors for proposed blends
- Market Suitability Scoring: Get predicted consumer appeal scores
- Chemical Analysis Integration: Store and analyze vineyard block data
- Historical Blend Tracking: Maintain records of successful blends
This Val Town implementation uses:
- Backend: Hono.js API framework
- Database: SQLite for data persistence
- AI: OpenAI GPT-4 for blend generation and sensory prediction
- Frontend: React with TailwindCSS
- Storage: Val Town Blob storage for file uploads
├── backend/
│ ├── index.ts # Main API entry point
│ ├── database/
│ │ ├── migrations.ts # Database schema
│ │ └── queries.ts # Database operations
│ └── routes/
│ ├── blends.ts # Blend generation endpoints
│ ├── data.ts # Data management endpoints
│ └── static.ts # Static file serving
├── frontend/
│ ├── index.html # Main HTML template
│ ├── index.tsx # React app entry point
│ └── components/
│ ├── App.tsx # Main app component
│ ├── BlendGenerator.tsx
│ ├── DataUpload.tsx
│ └── BlendHistory.tsx
├── shared/
│ └── types.ts # Shared TypeScript types
└── data/
└── sample_data.json # Sample wine data
🚀 Live Application: The Terroir Harmony AI Blend Designer is now running at: https://spooky--ed5633146df111f09a7d0224a6c84d84.web.val.run
- Explore Vineyard Blocks: View the pre-loaded sample vineyard blocks (4 blocks with different varietals)
- Generate Your First Blend:
- Go to the "Blend Generator" tab
- Select a target wine style (e.g., "Bordeaux-style Red Blend")
- Choose 2-3 vineyard blocks
- Click "Generate Blend" to get AI recommendations
- Review Blend History: See all generated blends and add feedback on actual results
- Manage Data: Upload your own chemical analysis data or add new vineyard blocks
The application comes pre-loaded with:
- 4 sample vineyard blocks (Cabernet Sauvignon, Merlot, Cabernet Franc, Petit Verdot)
- Chemical analysis data for each block
- Ready-to-use blend generation capabilities
GET /
- Main application interfacePOST /api/blends/generate
- Generate new blend compositionsGET /api/blends
- List historical blendsPOST /api/data/upload
- Upload chemical analysis dataGET /api/data/vineyard-blocks
- Get vineyard block data
- Backend: Hono.js, SQLite, OpenAI API
- Frontend: React, TailwindCSS
- Platform: Val Town serverless environment