Kindertip
I’ve started working on this project while visiting Sevilla in January 2024. At the time my daugher was 2 and still went to a kindergarten that started using an application to communicate live news with parents, Kindertap. On that app the teachers upload information on meals, news, contagious illnesses, and upload pictures.
A month before, us parents were told to download all pictures since during January all old pictures would be deleted, and I thought I could write a simple script that would periodically download said pictures and upload them either on my NAS or on my GDrive account, since on the website there is a “Downloads” page where pictures can be downloaded as monthly compressed files.
This long introduction just to say that Kindertip uses a pretty structured API, and I wrote a website that uses the same API to extract information on how, what and when my daughter eats. For each course of her meals (morning snack, lunch, early afternoon snack) we get a value that goes from 1 to 4 according to how much of it she ate: 1 if she ate the whole thing, 4 if she didn’t even took a bite.
My first goal was to write a python script that would sort all the meals she tried by how much she liked them: while it’s useful to have the information on a day by day basis, having a rating that spans over months or even years could give us ideas on how to feed her when she’s home. I then switched to a webapp that would do the same live when visiting the website. The website was designed by the great Samira Lapietra.
A simple rating based on the average would be not ideal though: several meals she had had less than 4 occurrences, and their average could be meaningless. I found an algorithm that I really found interesting: I remember reading about the one reddit uses for their ranking, that considers both the amount of up/downvotes and the average vote, but that does not apply in this situation, since I have 4 possible votes; the one I found works by considering both the votes average and the general average among all the votes, and can be even tuned using a parameter.
This algorithm, paired with the exclusion of all the courses she only had once, created a nice ranking: my daughter favourite meal among the ones at her kindergarten according to this was “Raw sliced carrots with olive oil and lemon juice”, something I never tried cooking for her! She sometimes eats carrots with my homemade hummus, which is pretty similar, but that’s great to know!
This small project could end here, but I wanted to add a few more info: seasonality in weeks, to highlights if some days she eats less/more for some reason, favourite ingredients and a model that, given expected meals, could predict how much she will eat. This last one is still under work.
Currently my daughter has left the kindergarten, but now it’s my son’s turn: I’ve got data since day one for him.