🛒 CartTech ⚙️

This is our Github Repo for our project submission to Hack The North: CartTech.

followThruLogo "Grocery Shopping is a repetive, menial task, which means it is ripe for automation. Also, as we learned in the past 2 years, having these warehouse-like stores as a congregation point comes with many drawbacks. CartTech is here to make the process easier than ever.

Team Members 👨🏻‍🏭👨🏻‍💻👨🏽‍💻🧑🏽‍💻:

  • Michael Denissov : Hardware Developer
  • Zac Waite: Project Manager and Back-end Developer
  • Arnav Gupta: Designer and Front-End Developer
  • Harshul Gupta: Designer and Front-End Developer Team Photo

Project Description 📝:

We decided to make CartTech, a grocery shopping cart and web app which allows users to purchase groveries by driving a cart around a store, all from the ease and comfort of their own home. Grocery shopping is something that all of us must do, but is repetitive and has the potential for automation.

(What we decided to do) (Research behind it)

(Why we did it)

⚡️ With our combined experience, we were able to create a functioning hardware prototype that connects to a website and server accessable from any device!⚡️

(Our goal) (Goal broken down into pieces, with emojis for each)

Inspiration 💡:

Seeing how automation is more rapidly on the rise than ever before, we brainstormed ways in which we have yet to see robots deployed in, and eventually we came across the idea of automating shopping carts!

What it does 🛒📱☑️:

CartTech allows users to drive a shopping cart and purchase groceries through the web app. Users can register an account, and then browse a list of stores. In this list of stores, users can see how many shopping carts are available in each store, and can then read the product list for each store, and view the prices and images of the items. Users can also see their order history and place new orders and the cart will automatically grab the correct grociers with minimum installation effort required for any store.

(Detailed project description of each stage in the user process) (Photos of use)

How we built it 💻:

We used React, HTML5, CSS3, and Bootstrap for the frontend. The backend was built with Node, Express, MongoDB, and auth0. We also used a Raspberry Pi to build the server, Jetson Nano for Lidar data, and an Arduino for real-time control of the robot.

(Detailed description of every stage of the design process) (Ideas) (Design) (Hardware) (Server) (Website) (Photos of design process)

Challenges we ran into 💥:

  • Time frame, obviously
  • Authentication (login/register)
  • Deployment for the frontend
  • Many Hardware elements failing for obscure reasons
  • Basically Murphy's Law

Accomplishments that we're proud of 🍀🍾:

  • Very few overlapping code on pull requests
  • Good team work
  • Implementing an organized json response on the backend
  • Solid design
  • Even though that there were many challenges along the way, we were able to persevere and complete our project

What we learned 🧠👍:

  • Improved all of our coding skills significantly
  • We learned how manage our time under strict time constraints

What's next for CartTech 🥚🐣🐥:

  • Creating and implementing a more to-scale and robust design of the CartTech robot for testing and deployment in the field
  • Collaborating with local stores to get the project off the ground

Software ⚛️💻:

  • HTML, CSS, JS and React for the web 📱💻
  • Node.js and Express.js for the backend 🖥
  • Python for Hardware interfacing and sensing
  • C/C++ for control of the model robot


(Photos and breif descriptions)


  • Authorize Users 🔐
    1. Retrieve token from browser storage
    2. Verify JWT_SECRET in process.env
    3. Authorize (next() function)

Project contacts

Share this project: