From b5ee599b2c5c443489c5c010cd5fc6edc61e621f Mon Sep 17 00:00:00 2001 From: Chloe Stanton <156254816+c-stanton@users.noreply.github.com> Date: Tue, 3 Mar 2026 19:50:32 -0800 Subject: [PATCH 1/2] Initial commit --- LICENSE | 21 +++++++++++++++++++++ README.md | 1 + 2 files changed, 22 insertions(+) create mode 100644 LICENSE create mode 100644 README.md diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..27a42bf --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Chloe Stanton + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..4adb8b2 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# Seasoned \ No newline at end of file From 04017895a06ac0137a15f083886e6af761f5dead Mon Sep 17 00:00:00 2001 From: Chloe Stanton <156254816+c-stanton@users.noreply.github.com> Date: Tue, 3 Mar 2026 19:50:55 -0800 Subject: [PATCH 2/2] Enhance README with project overview and details Added detailed project description, target audience, tech stack, technical requirements, and use cases for Seasoned. --- README.md | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4adb8b2..cc0075a 100644 --- a/README.md +++ b/README.md @@ -1 +1,58 @@ -# Seasoned \ No newline at end of file +# Seasoned + +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 1.5 Flash 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) | +| **Frontend** | Nuxt 4 + Vuetify + CSS | +| **Backend** | Nuxt Nitro | +| **Database** | Postgres + pgvector | +| **Intelligence** | Gemini 1.5 Flash | +| **Storage** | Local File System | + +Technical Requirements: + +1. AI & Multimodal Intelligence + + Multimodal Extraction: Use Gemini 1.5 Flash 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. + + Serverless-Style Routes: Use Nitro server routes to keep the Gemini API Key hidden from the client-side. + + 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. + + Sharing Permissions: A relational join-table logic that allows one user to "push" a recipe to another user's library. + +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. + + Collaborative Boxes: One user "seasons" a recipe (rates/tags it) and shares it with someone who also uses the instance.