This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle
What I Built
AskMyShop is a local app that lets a small shop or restaurant owner ask questions about their sales in plain language and get a chart plus a one-line answer.
Many small businesses keep sales in Excel or CSV exports from a billing app, but can’t afford an analyst. They’re left asking questions like “which dish is not selling?” or “which day is my busiest?” and guessing the answers.
With AskMyShop, the owner uploads their sheet, types a question (e.g. “Which items sold least last month?”), and gets:
a chart
a one-line insight in simple words
the SQL used, so they can see how the answer was found
Who would pay: small restaurants, tiffin shops and grocery stores. Pricing idea: [₹499 one-time setup, or ₹199/month for monthly report templates].
Demo
Tip: Show the Wi-Fi turned off in the video. It proves the “private and offline” claim in two seconds.
Code
An asynchronous, GPU-accelerated Telegram Bot engineered using Pyrogram and faster-whisper (distil-large-v3). Automatically extracts English audio streams, transcribes multi-channel media, and generates mobile-optimized, styled Advanced SubStation Alpha (.ass) English subtitles.
distil-large-v3 running on CUDA float16 hardware acceleration, achieving round()‑based) to eliminate IEEE 754 drift on long files..mkv, .mp4, .avi), prefers explicit English streams, and converts raw Audio to 16kHz mono PCM WAV with a .ass) files with a How I Built It
Model: [Qwen2.5 7B / Qwen2.5-Coder] running locally through Ollama Query engine: DuckDB, which queries the uploaded CSV/Excel directly with no database setup
Structured output: Instructor with a schema, so the model returns the SQL and the chart type in a predictable format
UI and charts: Streamlit with Plotly
Safety layer: only read-only SELECT queries are allowed, and if the SQL fails, the error is sent back to the model for one retry
Prompt design: the prompt includes the table schema, sample rows, and a few example questions with correct SQL, tuned to the shop’s own column names
(Optional) faster-whisper for asking questions by voice What I learned: [e.g. small models sometimes write wrong SQL, so showing the query under every answer built trust, and schema plus examples in the prompt improved accuracy.]
Why Does Open Innovation Matter?
Privacy: sales and customer data never leave the owner’s laptop. For a small shop, that data is the business.
Cost: there’s no per-question API fee, so a low flat price still leaves a margin. With a paid API, every question the owner asks would eat into a ₹199/month plan.
Works offline: many small shops have unreliable internet, and this works without it.
Customization: I could tune the prompt with the shop’s own column names and item names (including Tamil names), which a generic tool handles poorly.
No lock-in: if a better open model comes out, or the shop has an older laptop, I can swap the model without rewriting the app.
[Add one honest comparison here, e.g. “I tried the same questions on a hosted model: accuracy was [X], but it required up the data and costs [Y] per query.”]
My First User
[Who they are: a shop owner, a relative who runs a business, a tea stall, a hotel.]
What they asked first:
What worked / what confused them:
Would they pay, and how much:
What they asked for next:
If you haven’t shown it to anyone by the deadline, delete this section.