Lois’s Status Report for 02/22/2025


Work Accomplished:

This week, I focused on starting the MQTT integration for real-time updates in the SmartCart system. My key accomplishments include:

  • Implemented barcode scanning with expo-camera for smooth scanning functionality
  • Set up the MQTT client in the mobile app, allowing it to publish scanned product data

Progress Status:

I am on track with the project schedule. Since next week’s goal is also to integrate MQTT for real-time updates, my progress aligns with the planned timeline. While the barcode scanner may be functioning correctly and the MQTT client is set up in the mobile app, I have not yet configured the MQTT broker on the Raspberry Pi or obtained the broker IP address needed for full real-time updates. Additionally, the Camera JSX issue has not yet been resolved, which will need to be addressed moving forward.


Next Week’s Goal:

For next week, my focus will be on:

  • Set up the MQTT broker on Raspberry Pi and obtain the correct broker IP address
  • Test MQTT communication between the Raspberry Pi and the mobile app
  • Ensure scanned items update in the cart in real-time
  • Fix the Camera JSX issue

Lekha’s Status Report for 2/22/25

Work Accomplished:

This week, I focused on setting up the rasberry pi along with its power bank that was purchased through amazon. I was able to connect it to my computer and setup the initial configurations. However, I am still waiting on the barcode scanner to continue the hardware requirements of this week.

Progress Status:

I am still waiting on the delivery of the barcode scanner, which will allow me to start integrating it with the larger hardware system and connect the scanner’s output to the rasberry pi.

Next Week’s Goal:

  • Scan items through the barcode scanner + rasberry pi pipeline
  • Connect this with the open food facts api query

Team Status Report for 2/22/25


Risks & Management:

Feature Prioritization

    • Risk
      • We may not be able to implement our full list of features such as AI meal recommendations or allergen substitutions
    • Contingency Plan
      • We are prioritizing our different features. The main functionality is cart tracking and item scanning. Then, we will prioritize allergen substitutions.

MQTT Connection & Network Issues

    • Risk
      • Network instability may cause message loss / delays in product updates.
    • Contingency Plan
      • Implement retry mechanisms to resend messages in case of failures.
      • If the network is unstable, store scanned product data locally on the mobile app & sync when online.

Design Changes & Justification:

  • Transition from Database to Open Food Facts API and Cache
    • Originally we planned to build our own database of aldi foods and information. However, we recently found an API online that is able to access the aldi inventory and return a product through its UPC, which is the output of the barcode scanner. Therefore, instead of using memory and time to build this database, we will query for it during the shopping
    • A concern of this is latency. Therefore, we want to use a cache to retrieve frequently used item in order to still meet our quantitative requirements.

Progress:

    • Started integrating LangChain to process scanned grocery items, cross-check them with planned meals, and request substitutions when needed
    • Created a schema to store scanned products, user dietary preferences, and updated meal plans, with basic CRUD for efficient data retrieval
    • Implemented MQTT client in the mobile app

 

Aanya’s Status Report for 02/22/25

I started building out the backend for SmartCart, focusing on getting the barcode scanning and meal plan updates working together. Using FastAPI, I set up the initial API endpoints to handle barcode scans, pull product details from the Open Food Facts (OFF) API, and return structured grocery data. To make meal plans adjust in real-time, I began integrating LangChain, which takes the scanned items, checks them against the planned meals, and queries Spoonacular for substitutions if an ingredient is missing. Next week I want to focus more on the database side, to set up a PostgreSQL schema to store scanned products, user dietary preferences, and updated meal plans, along with basic CRUD operations for easy data access. The main challenges are making sure FastAPI, LangChain, Spoonacular, and OFF API communicate smoothly, improving query efficiency, and ensuring grocery matching happens in real-time without delays.

Team Status Report for 02/15/25


Risks & Management:

Product Recognition

    • Risk
      • The barcode scanner may fail to recognize some products or barcodes
    • Risk management
      • The app should indicate when it is unable to read the barcode or unable to find the product through alerts to the customer.
    • Contingency Plan
      • The app should allow a customer to manually enter in a product if the barcode scanner and database system is unable to recognize a product.

Design Changes & Justification:

  • Transition from Computer Vision to Barcode Scanning
    • Why: Our visit to Aldi revealed that CV might struggle with detecting stacked or partially visible items, leading to missed detection. Additionally, almost all products except some produce had barcodes, making barcode scanning a more reliable and deterministic approach. This ensures users can confidently scan each item without worrying about recognition errors. Barcode scanning also provides instant confirmation, unlike CV, which may silently fail.
    • Impact:
      • Remove YOLOv8-based object detection, eliminating the need for an RGB camera.
      • Reduced computational complexity -> Moved from Jetson Nano to Raspberry Pi for better efficiency
      • Improved reliability, as barcode scanning is more accurate for grocery identification.
    • Cost considerations:
      • Reduced cost by eliminating the need for high-powered GPU-based system.
      • Incurred new costs for barcode scanners
    • Mitigation:
      • The UI will guide users through manual product entry in case a product is unscannable.

Progress:

  • Since we removed CV-based object detection, the focus has shifted to barcode scanning, AI_driven recommendations, and dietary filtering.
  • The revised schedule is:
    • GNATT chart
  • So far, we have made progress on:
    • UI app development
    • Hardware Design
    • Database Setup

Part A: Public Health, Safety, and Welfare Considerations

With respect to public health: SmartCart promotes both physical and mental wellbeing. On the physical side, it encourages balanced nutrition through its meal planning features. The psychological benefit comes from reducing the stress associated with meal planning and grocery shopping decisions.

With respect to safety: The system’s primary safety feature is its allergen detection and filtering capability. By automatically identifying and flagging products containing specific allergens, it helps prevent potentially dangerous allergic reactions. This creates a safety barrier for individuals with food allergies.

With respect to welfare: Smart cart helps food security by optimizing how suers spend their grocery budget and preventing food from going to waste. It makes nutritious food more accessible by providing smart recommendations tailored to each person’s needs and resources.


Part B: Social Considerations

With consideration of social factors: SmartCart promotes accessibility and inclusivity through its consideration of different dietary preferences. Through accommodating different restrictions such as vegan, gluten-free or allergy alternatives, it allows users to automatically gear their meal planning towards this goal without too much overhead. 

Unlike many apps, a dietary normal is not expected of its users and instead allows considerable personalization through their preferences. Product recommendations are built upon this profile information.

In addition, for users with busy personal lives would not need as intensive planning for grocery trips due to SmartCart. In combination with the dietary preferences, SmartCart allows users to automatically populate grocery lists and focus on demanding parts of their lives.


Part C: Economic Considerations

With consideration of economic factors: SmartCart helps users optimize their budget allowing for smart consumption of food and minimal food waste. Transparent cart price checking allows users to think strongly about their consumption before they head to checkout. This aspect of the product is especially useful for college students and budget-focused individuals. 

In addition, meal planning through automated recipes also optimizes for food waste as the user has rationale for each item beforehand.  Overall, this reduces unnecessary purchases as users are recommended products to fulfill their planned meals.


A was written by Lois Yun, B was written by Aanya Rustogi, and C was written by Lekha Punya.

Lekha’s Status Report for 02/15/25

Work Accomplished:

This week, I focused on the hardware design aspects. We took a trip to ALDI on Thursday in order to mimic the customer experience and decided to make changes to our original proposal.

  1. New Hardware Design
    1. Barcode Scanner – $40
    2. Rasberry Pi
      • main controller / sync with mobile app
    3. Battery Pack
  2. System Flow
    1. User scans item (Barcode Scanner -> Rasberry Pi)
    2. Look up barcode in local database
    3. Extract Product Info
    4. Update App Data
    5. Display on App
  3. Database
    1. online API providing ALDI UPC (public)
    2. select subset of items
    3. Exceptions: some produce did not have barcodes. We will selectively leave them out for the scope of this project as there were not many of these products.

Progress Status:

Due to changing the product design, I am behind on the original schedule that involved setting up the Jetson and camera. However, a new schedule has been made with the new design concepts in light of the change, which should keep us on track for the MVP.

Next Week’s Goal:

  • Reserve Rasberry Pi and request for Barcode Scanner
  • Build local database of Aldi inventory (web scraping)
    • collect UPC and allergen info etc
  • CAD Prototype of clip-on device (casing + power supply)

Lois’s Status Report for 02/15/2025


Work Accomplished:

This week, I worked on refining the UI design, testing potential workflows, and researching barcode scanning solutions. My key accomplishments include:

  • Updated Figma UI Designs
  • Started Developing the UI for Adding Detected Products to Cart
  • Visited Aldi to Test Hypothetical Workflow
  • Researched Barcode Scanning Methods

Progress Status:

I am currently on track with the project schedule. The goals for this week (Develop UI for adding detected products to cart) was completed.


Next Week’s Goal:

For next week, my focus will be on:

  • Finishing UI Development for Adding Detected Products to the Cart
  • Starting MQTT Integration for Real-Time Updates
  • Testing & Refining the UI Flow to ensure a seamless user experience.

Aanya’s Status Report for 02/15/25

Work Accomplished:

  • Went to Aldis to test out hypothetical workflow
  • Collected additional Aldi product images from GitHub repositories and online sources to refine detection capabilities.
  • Researched fine-tuning techniques to adapt YOLOv8 to Aldi-specific products, including augmentation strategies to improve model robustness.
  • Began implementing an OpenCV preprocessing pipeline for contrast adjustment and text detection (OCR) to assist in product differentiation.

Progress Status:

I am making steady progress in adapting YOLOv8 for real-time grocery detection. While I have successfully set up the base model and tested inference speed, the next step is fine-tuning it with Aldi-specific images and integrating OCR-based product matching.

Next Weeks Goal:

  • Implementing OCR-based product matching, testing label extraction on Aldi-specific items.
  • Integrating detected objects with the product database, ensuring proper matching and categorization.

Team Status Report for 02/08/2025


Risks & Management:

  • Object Detection Confusion
    • Risk
      • The camera may struggle to differentiate between similar looking items (e.g. Fiji apples vs Honeycrisp apples) or misidentify certain products.
    • Risk management
      • Collect & train the YOLOv8 model with wider variety of grocery products to improve detection accuracy. Optimize confidence thresholds in detection.
    • Contingency Plan
      • Implement a User Confirmation Step: When the app detects similar items, prompt the user with a choice selection (e.g. “Was the item you just put in A, B, or C?”) for quick correction.

Design Changes & Justification:

  • Initially, we planned to populate our own dataset of Aldi grocery items to account for environmental and lighting discrepancies. However, we plan to limit our scope of the dataset to use the online Aldi database of products to prioritize functionality of our prototype. Now, it should be able to recognize a standard set of grocery items without hindering our progress if we were to spend too much time creating a brand new custom dataset.

Progress:

  • App setup & design
  • Yolov8 and Open CV pipeline finalization
  • Aldi’s dataset collection started
  • Finalized  to-be-purchased hardware devices
  • Designed device shell

Lekha’s Status Report for 02/08/2025

Work Accomplished:

This week, I focused on the initial research and preparation for the necessary hardware components of our projects. Some of my key accomplishments include:

  1. Finalized  to-be-purchased hardware devices pending TA approval
    • NVIDIA Jetson Orin Nano Developer Kit – $249
      • This specific kit offers performance improvements over the base kit, proving useful for AI (object detection tasks). This will prove especially useful for our computer vision capabilities in identifying grocery products.
      • Barrel Jack Power Supply for powering device
    • Arducam IMX477 – $80
      • Real-time object identification for video streams (identify grocery items as it is being placed in cart)
        • 60 FPS
      • Compatible with Jetson Orin Nano
  2. Decided to 3D print case encompassing Jetson Orin Nano and Arducam
    • customizable compact case fit to device sizes
  3. Consolidated research on setting up Jetson Orin Nano and connecting with specific camera 

Progress Status:

I am on track with our current timeline of finalizing device options in order to start preparing device setup for next week.

Next Week’s Goal:

  • Submit purchase forms for each of the hardware devices on Monday with TA approval
  • Mockup of hardware design on prototyping platform in most compact and efficient manner
  • Setup training procedure for YOLOv8 model