Bag It!
Tired of moving your groceries from the cart to the bag? Wish you could just walk out of the store? Use bag it! Simply put your items in the bag and walk out! See how much you spend as you go!
Inspiration
One of our biggest pet peeves about grocery shopping is the checkout process. You put groceries into your cart, take them out to scan, and then put them right back into bags. It's repetitive, time-consuming, and honestly, just inefficient. We started wondering: Why can't we just put our groceries in a bag and walk out? While cashierless shopping technology already exists, it often requires expensive infrastructure and specialized store equipment. We wanted something simpler and more accessible. That's how Bag It! was born. Our goal was to transform an ordinary shopping bag into an intelligent checkout system, making grocery shopping faster, easier, and more convenient without fundamentally changing how people shop.
Bag It! turns an ordinary shopping bag into a smart, AI-powered checkout system. Using a camera and computer vision, Bag It! recognizes supported grocery items as they're placed into or removed from the bag. Each detected item is communicated to our companion mobile app, which automatically updates your shopping list and running total. Our system combines real-time object detection, Bluetooth communication, and a connected backend to create a seamless shopping experience. The ultimate goal? No individual scanning, no unloading and rebagging groceries, and no waiting in checkout lines. Simply grab it, bag it, and walk out! Our prototype demonstrates the foundation for this experience, with fully integrated checkout and payment capabilities as future goals.
How we built it
We started by designing a physical shopping bag that could house our hardware without sacrificing its everyday functionality. We positioned a Logitech camera near the opening and developed a concealed bottom compartment for our NVIDIA Jetson Orin Nano, supported by a 3D-printed structure. For object detection, we used YOLOv8n and TensorRT optimization to process camera footage and track groceries crossing the bag's opening. Our system distinguishes between items entering and leaving to generate ADD and REMOVE events. These events are transmitted through Bluetooth Low Energy (BLE) to our Android application, developed using Kotlin and Jetpack Compose. Finally, we used SpacetimeDB and WebSockets to synchronize product information, shopping sessions, and running totals between the application and our backend.
Challenges we ran into
Our biggest challenge was achieving consistent object detection with our Logitech camera's limited effective frame rate. When groceries moved too quickly into the bag, they sometimes passed through the camera's view before our model could reliably detect and track them. We quickly realized that identifying an object in a single image was completely different from tracking objects moving through a real shopping bag. We also faced challenges integrating our hardware, Bluetooth connection, mobile application, and backend into one reliable system. The bluetooth connection would continuously drop due to both software and hardware issues, but eventually we were able to get it to a point where it could function in a demo. On the mechanical side, fitting our computer and camera into a regular shopping bag while maintaining enough room for groceries required multiple design iterations.
Accomplishments that we're proud of
Rather than creating just another AI application, we wanted to build something tangible that people could actually interact with. One of our proudest accomplishments was connecting our physical hardware to a complete digital shopping experience, from recognizing grocery items to updating the shopper's cart and total. We're especially proud of how our team brought together different engineering backgrounds and skills to make this possible. With our limited time and hardware access, we were still able to turn around a functioning physical prototype, smooth UI/UX experience in the app, and deploy a live site.
What we learned
Our biggest takeaway was that building AI for the physical world is much harder than making it work in a controlled environment. We learned how important camera positioning, inference speed, compute optimization, and reliable communication are when converting physical movements into digital actions. We also gained experience integrating completely different technologies, from mechanical design and embedded hardware to mobile development and real-time databases. Most importantly, we learned how interconnected hardware and software engineering really are. Small changes to the physical design affected our entire detection pipeline. This experience reminded us that good engineering isn't necessarily about making something complicated. It's about making complicated technology feel simple to the people using it.
What's next for Bag It!
Our long-term goal is to make checkout-free shopping affordable and accessible to stores of all sizes, without requiring expensive infrastructure. We want to improve our detection accuracy with faster cameras, optimized computer vision, and potentially additional sensors. Bag It! is also a two-part system that can be tailored to both businesses and consumers. Bag It! Is modular, allowing it to be easily transferred between reusable bags, shopping baskets, and carts. Beyond the hardware, we hope to expand our customer base, integrate securer payment processing, and develop more robust software to make the user experience even more seamless. Ultimately, we envision a shopping experience where customers don't even have to think about checkout.
Grab it. Bag it. Walk out. That's the future of shopping we want to build.
Built With
- godaddy
- html
- javascript
- jetson-orin-nano
- kotlin
- opencv
- python
- spacetimedb
- stripe
- swift
- tensorflow
- typescript
- yolo
Log in or sign up for Devpost to join the conversation.