How to Create a To Do App & Store the Items in a Stored List



Hey Friends!

The Tutorial
I am adding this post under Video Tutorials since the discussion stems from a video tutorial I made on how to create a simple to do / task management app. Here is the original video:

Someone tried replicating the app and wanted to enhance it by storing the tasks in a stored / local variable. However, this code was not working.

Original Blocks
Here are the original blocks.

Problem Code
The problem was he was trying to add the input item to a list variable BUT the variable had not been initialized (or defined) as a list.

An Incorrect Solution
Your 1st instinct may be to set the variable to an empty list whenever the screen starts. This does not work because the app ends up clearing out the list every time you close and reopen the app. This defeats the purpose of the stored variable.

The Correct Solution
Rather, a better approach is to only set the variable to an empty list IF the list has not yet been defined. This makes the stored variable a list variable IF and ONLY IF the list is not yet defined. Thus it will not clear out any items previously stored in the list.

The Final Code
These are the final blocks that I got to work.

Let me know if you have a better solution to this - hope this helps you in your troubleshooting in the future! :grinning:


Thunkable X Tutorials

Checklist for thunkable x
Buzzword Bingo - Just don't tell the boss you're playing

This is really nice; you guys should update the chat tutorial to be a bit more list this; the current tutorial saves the text onto a single string variable so it’s confusing as to how it could actually be used in a real-life scenario…

also, please fix the WebAPI component (at least on iOS) it simply doesn’t send any headers or body :frowning:
(or maybe I’m doing something wrong and a tutorial using it would help…?)


Hi Darren,
The piece of code worked perfectly!!
Thanks for helping out.

I got the question here if I could put a checkbox on a list…
So you could choose whether you want to check a task or delete it…
Another challange😊


@Dinto has also mentioned wanting a chat app to me before, but I think the list viewer needs some more property features before we could make one.

I think at a minimum, I would want to be able to left or right align different elements in the list viewer, and also add styling like coloring. Currently these features are not available.


@Dinto Glad to hear it. I also do not know of a checkbox feature to make complete.

With the current features available, I would suggest having a “To Do” list and a “Completed List”. And when you click on an item in the To Do List, you could choose to delete or move to the Completed List.


That’s one to try.
There two thing actually;

  1. in one of my list, the Notitie one, if I want to delete an item, it deletes the item I click on, it deles another one. I can’t find the error, it think it’s a bug…

  2. I am Testing the todo-list with two phone.
    When I added an item to a list on one phone, it came up on the other phone. I don’t want to share the todo-list.
    Some one who downloads the app have the possibility to make his or her own list.

I’m now storing the variables in the app ( at first seen in your tutorial in the cloud) How can I get this right?
Regards, Dinto


Hey Dinto!

For #1:
Please share a screenshot of your app or send my a link through direct message.

For #2:
This may be because you are testing in the live app or using a cloud variable when logged into the same account. I would start out with a stored variable. It is really up to you. Read more about variables here:



Hi Darren,
It’s been a few day’s ago, busy:sweat_smile:

Still having problems with the issue above;
I have two list, list one: Notitie and list two: Boodschappen.
When I add items to both list, and delete an item on one list, it deletes the item on that list but when I delete another item from the other list, it doesn’t delete the item I touch but the one under that item…
I’ve delete the screens and start over again because thought it could also be a bug in one of the listviewers, didn’t help.
I’ve also change te code a bit, with local storage instead of the use of stored variable.
Could you give it a try?
I wil send you the project link


I believe this is a bug in the Thunkable code. The issue is with list indices, so anytime you are using a list, you may run into this error. See the issue on github here:

This check is currently working for me, so try this approach out:

Happy Coding!


Hi Darren,
Thanks for your help!:ok_hand:t5:
I am going to try your lines of code…
I will let know if it works for me.
Thnx in regards


Hi Darren,

I Tried you code, and it did work, for 2 days::disappointed_relieved:
I read that it is a bug…
The notitie screen is working, but de Boodschappen screen is now deleting two items at a time.
Or if I tap two times on an item the whole row with 4 items disappears.
This don’t have to be that difficult?
here is the List_viewer code…


I am trying to save text in a text input box. Any ideas on how to do this? I would like to add a journal feature to my app. So users can add text, save the text and then add more text to the existing text when they reopen the app. I am new to thunkable! Thanks in advance.


Hi @JENNIE_NGUYEN_Studen, Welcome to Thunkable!

Both of these videos show you how to add an item from a text input field to a list viewer:

And this is an example of the blocks you will need:

  1. Create a variable to store all journal entries.
  2. When the screen starts set the list to an empty list IF it does not contain anything, then update the list.
  3. When updating the list, you simply want to populate a List Viewer component with all of the items in the list variable.
  4. When a button is clicked, add the whatever is entered in a text input field to the list. Then update the list on the screen. Then clear out whatever was previously entered in the list.

Happy Coding!