Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .vercelignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
main.py
requirements.txt
run.sh
venv/
product_images/
qdrant_db/
.env
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# KiranaAI — Visual Billing Counter

[![Try Live](https://img.shields.io/badge/Try%20Live-Click%20Here-success?style=for-the-badge)](https://amd-hackathon-three.vercel.app/)

A local grocery/retail billing system that uses multimodal AI to identify products from photos and populate the bill automatically. Built for offline-first operation in small Indian retail shops.

## The Problem
Expand Down
10 changes: 10 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,16 @@
<link rel="stylesheet" href="style.css">
</head>
<body>
<div id="dummy-banner" style="display: none; background-color: #ffeb3b; color: #000; padding: 12px 20px; text-align: center; font-weight: 500; font-size: 14px; z-index: 9999; position: relative; font-family: 'Inter', sans-serif; box-shadow: 0 2px 4px rgba(0,0,0,0.1);">
⚠️ <strong>Dummy Deployment:</strong> The backend requires a dedicated server due to heavy ML models (PyTorch/Transformers).
<a href="https://github.com/ayushxx7/amd_hackathon" target="_blank" style="color: #000; text-decoration: underline; font-weight: 600; margin-left: 8px;">View GitHub Repo for local deployment instructions</a>
</div>
<script>
// Only show the dummy warning if hosted on Vercel
if (window.location.hostname.includes('vercel.app')) {
document.getElementById('dummy-banner').style.display = 'block';
}
</script>
<div class="background-blobs">
<div class="blob blob-1"></div>
<div class="blob blob-2"></div>
Expand Down
4 changes: 3 additions & 1 deletion main.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@

# ── Config ──────────────────────────────────────────────────────────────────
MODEL_NAME = "gemma4:e4b"
OLLAMA_HOST = "http://127.0.0.1:11434"
# MODEL_NAME = "qwen2.5vl:3b"
# OLLAMA_HOST = "http://127.0.0.1:11434"
OLLAMA_HOST = "https://1a49-70-50-135-109.ngrok-free.app"
EMBED_MODEL = "google/siglip-base-patch16-224"
VECTOR_DIM = 768
QDRANT_PATH = "./qdrant_db"
Expand Down
27 changes: 27 additions & 0 deletions products.json
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,33 @@
"price": 1200.00,
"keywords": ["glutamine power", "supplement", "black jar", "gym powder", "fitness"],
"category": "Supplements"
},
{
"id": "SKU-011",
"name": "Dexolac Nusobee Lactose Free Baby Powder",
"brand": "Dexolac",
"unit": "400g",
"price": 500.00,
"keywords": ["dexolac", "nusobee", "lactose free", "baby powder", "formula"],
"category": "Baby Care"
},
{
"id": "SKU-012",
"name": "Eno Fruit Salt Lemon Flavor",
"brand": "Eno",
"unit": "100g",
"price": 150.00,
"keywords": ["eno", "fruit salt", "acidity", "digestion", "lemon flavor"],
"category": "Health Care"
},
{
"id": "SKU-013",
"name": "Little's Baby Diapers",
"brand": "Little's",
"unit": "30 Pieces",
"price": 350.00,
"keywords": ["littles", "diapers", "baby", "pampers", "pants"],
"category": "Baby Care"
}
]

1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
torch
fastapi
uvicorn
ollama
Expand Down
5 changes: 5 additions & 0 deletions vercel.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"framework": null,
"buildCommand": null,
"outputDirectory": "."
}