Files
Seasoned/README.md
2026-03-20 02:17:58 +00:00

56 lines
2.5 KiB
Markdown

# Seasoned
[![Build Status](https://jenkins.wrigglyt.xyz/job/Seasoned/badge/icon)](https://jenkins.wrigglyt.xyz/job/Seasoned/)
In progress link: https://seasoned.ddns.net/
The Pitch:
Seasoned is a high-performance, private digital cookbook that bridges the gap between web discovery and kitchen execution. By combining the multimodal power of Gemini 3.1 Flash Lite with a secure, self-hosted PostgreSQL backbone, Seasoned allows users to instantly "distill" messy recipe blogs and food photos into a standardized, searchable, and shareable library they truly own.
Target Audience:
The Modern Minimalist: Cooks who want an ad-free, recipe experience.
The Legacy Keeper: Families digitizing handwritten recipes into a clean digital format.
The Privacy Enthusiast: Users who want the power of AI without storing their personal data in a massive cloud.
The Hybrid Tech Stack:
| Components | Technology |
| :--- | :--- |
| **Hosting** | Private Server (Dockerized on home hardware) |
| **CI/CD** | Jenkins server |
| **Frontend** | Nuxt 4 + Vuetify + CSS |
| **Backend** | Dotnet |
| **Database** | Postgres + pgvector |
| **Intelligence** | Gemini 3.1 Flash Lite |
| **Storage** | Local File System |
Technical Requirements:
1. AI & Multimodal Intelligence
Multimodal Extraction: Uses Gemini 3.1 Flash Lite to accept image/jpeg inputs and return a strictly validated JSON Schema containing title, ingredients, and steps.
Semantic Search: Implement pgvector in the local database. Recipes will be converted into "embeddings" (via Gemini) to allow users to search for "Comfort food for a rainy day" instead of just keyword matches.
2. Full-Stack Architecture (Nuxt 4)
Directory Structure: Adherence to the new app/ directory standard for better IDE performance and separation of concerns.
Responsive Design: A UI that adapts perfectly to a tablet propped up on a kitchen counter.
3. Data & Storage
Relational Schema: A PostgreSQL database to manage Users, Recipes, Tags, and Shares.
Private Media Pipeline: A custom upload handler that saves images to a local Docker volume, served via a secured static asset route.
Use Cases:
Photo-to-Recipe: User snaps a picture of a magazine page; Gemini extracts the text; the user saves it to their Postgres DB.
Semantic Discovery: User searches for "High protein dinner with lime" and the app uses vector similarity to find the best match.
Ad-Free Web Scraping: User pastes a blog URL; the server fetches the content, and Gemini strips out the ads and life stories.