Rethinking about my data hub

Rethinking about my data hub
Photo by Viktoriya / Unsplash

This morning, I woke up with this persistent thought nagging at me

it would be really cool to have a working data hub


What is the data hub?

The data hub is an idea that I should store almost all of my digital data in a single place. But it's important to also note that the data hub does not mean all digital things I have, only "personal" data. So it includes things like my health data, my music listening history, my blog posts, I call these "data bits". It does not include things like my photos, my downloaded media (like a movie), or any large digital assets.

Easiest way to separate it is if the data is storable within a database row without making the size of the DB grow significantly, then it's okay to include in the data hub.

So, what's next?

Just like most things in my mind, I often let the ideas simmer and then forget to implement them. But since the beginning of this year, I've mostly removed technical projects from my life instead of adding them on so I've been very hesitant to add a project that might burn time without me gaining any satisfaction from it.

First, I'd like to get the writing part of the system figured out (the C in CRUD). I want to make it protected behind some sort of API key or auth steps in order to avoid writing by spam bots etc. Then I'd like to make the writing happen on intervals for most things. Each set of data (health, music, exercise) would need to be treated like its own microservice or microAPI. Even though most of the interactions will be write and read (CR out of CRUD), I'd like to make the whole set of HTTP verbs easily doable.

What stack?

This idea pops into my head right when I start thinking of implementing this idea and recently, I've been leaning towards a Cloudflare heavy approach because it's how most of my websites run today. It might be a bit of a pain to get everything working as expected but at least I won't have to worry about servers etc to start out.

What's first?

To start out, I'm going to tackle an already existing data bit, my bike's data which is currently located at and will continue to be there but where the data comes from will change in the background.

This coming weekend, I'm going to start implementing this as part of a cloudflare worker.