top of page

Make a "don't forget to add" shopping list app with Flutter + Raspberry pi


When I was working in the kitchen, I noticed that the detergent wasn't ready. But now that I don't have my smartphone, so I'll add it to my shopping list later, but I forget to add after all.

Do you all have such an experience? I'm all about this.

・I don't have smartphones when working in the kitchen or washroom

・Even if I have it, it is troublesome to stop the work, take out the smartphone from the pocket, unlock it, launch the application and register to it

・I think I'll add it later and eventually forget it

In such a case, when I noticed a lack of an item, I would like to save that information on my smartphone in an instant, and when I open my smartphone later, I would like to remember it and add the item to my shopping list.

Therefore, I came up with the following solution.

  1. Install a button in the kitchen

  2. If I notice a shortage while working, press the button. When I press the button, a notification will come to my smartphone

  3. When I open my smartphone later, I will be notified by a notification and will add to my shopping list.

So I made a shopping list app that "don't forget to add item to the list"!



Mainly make the following two.

・Smartphone app (manage shortage / sufficient daily necessities)

・Button (If I press it, a notification will be sent to the smartphone app)

The app was created with Flutter, and the buttons were created with wireless relay and Raspberry pi.

Smartphone app

The smartphone app mainly consists of two pages.

  1. List page of daily necessities This page displays a list of pre-registered daily necessities. Those that are missing will be marked in red. You can also sort them in order of last purchase date.

Tap each item to go to the individual advanced settings page. Here, set enough / insufficient, and set links for pages such as Amazon. You can also create a notification by specifying the date and time.

2. Missing notification page

When I press the button, the notification will be displayed on this page as soon as the notification comes. Tap the notification and select the missing item. After selecting, I can choose to create a shopping notification or purchase on the EC site.

Cloud Firestore is used to save the data.


Next, create a button to send notifications to your smartphone.

I bought the following wireless relays from Amazon (450 yen each).

When the button is pressed, the relay closes. Connect this to the gpio of the Raspberry pi so that the Raspberry pi can detect the button ON.

In addition, the 12V power supply of the wireless relay is supplied from the following conversion module (connected with 100V by micro USB cable).

(Stabilization will be done later ... 😭)

Monitor the gpio signal on the Raspberry pi program, and when it is 0, use Firebase messaging to send a notification to the app.


Here are some answers to possible questions.

Why not add it to the app without pressing a button?

> As I wrote at the beginning, I don't have a smartphone when I'm in the kitchen or washroom. Even if I have it, it is quite a hassle to take it out of my pocket, unlock it, and launch the app. I can add it "in the meantime" when I play with the smartphone later.

Is it an Amazon Dash button?

> Well, I got the idea from that.

However, the Amazon Dash button is one button per product. Maybe there will be a lot of buttons in the room soon? Isn't it time-consuming to find the button I am looking for?

In that case, isn't it easier to manage if I have the list in your smartphone with one button?

Also, for daily necessities, it is cheaper to buy at a pharmacy or supermarket than at Amazon. I go to the supermarket to buy food, and I have many opportunities to go out without working remotely, so I think it's better to buy it at a supermarket or a pharmacy.


It looks like the following video. (Same as the one at the top of the page)


I would like to continue making various things using Raspberry pi.


・Converted the switch to be a momentary switch.(ref

Recent Posts

See All

[Flutter/Dart] Format string with TextField

What want to do I want to create an input form using TextField. For example, if the input content is a monetary amount, I would like to display it in 3-digit delimiters with a ¥ prefix. Rather than ha

[Python] Output pandas.DataFrame as json

Summary Data analysis is performed using python. The analysis itself is performed using pandas, and the final results are stored in pandas.DataFrame format. I want to output this result to a file in j


Let's do our best with our partner:​ ChatReminder


It is an application that achieves goals in a chat format with partners.


Let's do our best with our partner:​ ChatReminder


It is an application that achieves goals in a chat format with partners.


Theme diary: Decide the theme and record for each genre

It is a diary application that allows you to post and record with themes and sub-themes for each genre.

bottom of page