Life dashboard
I would get those ads for a certain product that shows chores and schedule of the day — but before I could click “Buy” I would get visions of fighting integration with Google calendar or feeling paranoid when sharing details of our family life with some third party. Instead, I decided to create one myself.
We had a TV screen we weren’t using and an extra raspberry pi so I vibe-coded a life dashboard.
I also got to insert those little things that I always wished would exist but they never did. Like showing temperature in both, Celsius and Fahrenheit. I grew up with Celsius and despite my best effort I don’t have a feel for Fahrenheit. “It’s chilly, 50s”. I’ve no clue what to wear. I know what I need for 15°C, which is totally different from 18°C but do I add a light hoodie for 70°F when compared to 75°F?
And it’s hard to learn because it’s “either/or” — you can switch in settings of any weather app but you cannot display both. Which is how I learn — seeing what I know and seeing what I don’t understand and linking them in my memory. Like flashcards for words in a foreign language.
I also wanted to get rid of the question “Is it cold or hot today?” that my boys would shout at me whenever getting dressed in the morning. Here’s the dashboard — with emojis — to show you what the weather is like and what appropriate clothes choices are.
Then three calendars — for each grade boys are in, and our family one, with playdates, occasions, etc.
With summer, came modifications. I grew tired of fighting “why do we have to wear sunscreen?” and added the UV index — that moved the question of the authority to the TV and the numbers. You can do whatever you want but when the UV index is in the red zone, good luck. (My kids subsequently refused to leave the house when the UV index was in the danger zone, :eyeroll:)
There was no need for school calendars during the break, so I had some screen real estate for chores — otherwise the mental load of “did you do your Duolingo today? did you practice piano?” and so on and so forth was again on me. I don’t like being the bottleneck.
So now they can see the status/progress towards the state “you’re all good to watch cartoons on your iPad for an hour” — and I only get to click buttons on a Google form, submitting the updates.
On the inside, the progress went from “a static HTML run in kiosk mode” to “a still-static HTML returned by the local web server in Go run in kiosk mode”, which solved a few problems for me.
I used public CORS proxies for retrieving the calendars1 so that I could keep things static on my side and not bother with authentication — it meant I couldn’t refresh as often as I wanted to get new events to show because I’d be blocked. With a local web server I can do whatever I want to2.
I use a combo of Google sheet+form to keep and update state of the chores/screen time tracker. For “let’s be static” reasons I had to share the sheet with the whole wide world and I didn’t like that. Now I have a service account on GCP that I share the sheet with.
There’s still stuff that I need to do — or stuff I don’t yet anticipate. For instance, I used to have another combo of Google sheet+form to track boys’ allowance. Luckily, I discovered Acorns Early and it works well for us, so I don’t need to do that part. I do want however to be able to display respective totals on the screen for the boys to know how much they have — I can see it in my parent app on iPhone but I want it on the screen, too.
I also want to add pubsub to my chores updates so that I don’t have to refresh at all, I’d just listen for updates. And a cheap tablet for boys to self-record their chores being done — in kiosk mode, without being distracted by any other apps or browsing.
I know. I’m the same person who earlier said she was paranoid to share family events with third parties. Nice to meet you.
Thanks to Brad who teamed up with me on one of our date nights to update the whole setup.
