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: v1View 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
- The main application runs at the root HTTP endpoint
- Upload chemical analysis data via the data management interface
- Use the blend generator to create new wine blends
- Review historical blends and their performance
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