VisionVine icon VisionVine

AI-Powered Alcohol Label Verification



Author: Shadi Kabajah
Email: skabajah@icloud.com
Date: August 7, 2026
Live Demo: https://visionvine.onrender.com



Overview

VisionVine is a web application that uses AI (Groq’s Qwen 3.8-27b vision model) to extract and validate information from alcohol beverage labels. It is designed to assist TTB compliance agents in verifying that labels meet regulatory requirements, reducing manual review time from minutes to seconds.



Features



Demo Example

The screenshots/ folder contains example results and test label images you can download and use to test the app.

File Description
result-1.png PASS result — single label image
result-2.png PASS result — two separate images (front + back)
result-3.png PASS result — one image containing two labels (combined)
sample_1.jpg Sample label image 1 (distilled spirits)
sample_2a.jpg Sample label image 2a (front label)
sample_2b.jpg Sample label image 2b (back label)
sample_3.png Combined label image (front + back in one)


Gallery Preview

Click any image to expand (opens in new tab).

Input Output
Sample 1
Single label image
Result 1
✅ PASS — single label
Sample 2a Sample 2b
Two separate images (front + back)
Result 2
✅ PASS — two images
Sample 3
One image containing two labels (combined)
Result 3
✅ PASS — combined label


Tech Stack

Component Technology Homepage
Backend Python + FastAPI fastapi.tiangolo.com
AI / OCR Groq API (Qwen 3.8-27b) console.groq.com
Icons Google Material Icons fonts.google.com/icons
Frontend HTML + CSS + JavaScript —
Hosting Render render.com
Source Management GitHub github.com


UX Path

  1. User lands on the page and sees a clean split-screen layout.
  2. On the left panel, the user drags and drops 1–3 images of an alcohol label (or clicks the + button to browse).
  3. The user clicks "Verify Label".
  4. The app sends the image(s) to the backend, which calls Groq's vision model to extract:
  5. The extracted data is validated against TTB requirements.
  6. Results appear on the right panel with:
  7. The user can click "Start Over" to reset and test another label.


Assumptions



Limitations

Free Tier Notes:



File Structure

  visionvine/
  ├── main.py
  ├── requirements.txt
  ├── screenshots/
  │   ├── result-1.png
  │   ├── result-2.png
  │   ├── result-3.png
  │   ├── sample_1.jpg
  │   ├── sample_2a.jpg
  │   ├── sample_2b.jpg
  │   └── sample_3.png
  ├── static/
  │   ├── index.html
  │   ├── app.js
  │   ├── cleaner.js
  │   ├── style.css
  │   └── icon.svg
  └── README.md


License

All Rights Reserved © Shadi Kabajah