Vedasri Traders

A full online grocery store for our family's kirana shop in Gachibowli. One app with two sides: customers shop, and we run the business from the same place.

My role
Product, design, build and deployment
Type
Family business
Built with
Next.js 14, Supabase, Gemini, Razorpay
Status
Live on the web, Android app on the way

Why I built it

Customers around Gachibowli are used to ordering groceries from quick-commerce apps. I wanted our own store to offer that same convenience while keeping what a neighbourhood kirana does that big apps don't: credit (khata) for regular customers, bulk prices for businesses buying in quantity, and separate business and personal accounts.

One app, two sides

Customers and our team use the same app. What you see depends on your account's role, and row-level security in the database keeps each side to its own data. Switch between them:

  • Browse 20 categories, with bulk price tiers for wholesale buyers
  • Scan a handwritten list, pick from alternatives when a match is unsure
  • Offers, wishlist, saved addresses, referrals and rewards
  • Razorpay checkout and live order tracking
How the scanner worksPhoto of a listGemini reads itFuzzy matchIn the cart

How the list scanner works

A customer takes a photo of their list. Gemini reads the handwriting, then matching code compares each line with our catalogue using fuzzy matching, so small spelling differences still find the right product. When a line could mean more than one item, the customer picks from a few candidates instead of the app guessing. Everything confirmed lands in the cart.

Built to be trusted

  • Supabase Auth is the only sign-in system, and row-level security in the database keeps each customer to their own data
  • A security audit found and fixed a leak between admin and customer data, plus a sign-out bug
  • Stock updates run as single database operations, so two people can't buy the last packet at the same time
  • The referral system blocks people from referring themselves, enforced inside the database

What's next

The store is live on the web. The Android version, packaged with Capacitor, is the current work in progress.

What I learned

This was the first project where many separate services had to agree with each other: logins, the database, payments, an AI model and the shop's own stock. Two kinds of users sharing one app taught me how row-level security really works, and the audit that found a leak between admin and customer data taught me to test my own assumptions instead of trusting that something looks right.

Vedasri Traders home screen with grocery categories, search and AI Chef