Hub
This one started as a continuation of Grocery Shopping. That little app worked so well for us that I started thinking, why not expand it with more small modules and replace some of the other apps I use every day? Also I love self hosting and the whole homelab thing, so the idea of having all of that running on my own servers was very attractive.
The shape of it
So I made a modular personal hub. First I built the core, the part that lives on my server:
- One small kernel, with the modules plugged into it.
- Everything stored in a single SQLite file.
- The surfaces connect to that core over an API. The two that really matter to me are the phone and the TUI (I love TUIs, mostly for ergonomics reasons, as I wrote in On computer ergonomics), and the webapp came out naturally once the API was already there.
(image the TUI)
The modules
Todo was the first one I added. Having a todo list I can reach from my phone and from the TUI is super valuable, and honestly that alone would have justified the whole project.
Then I added a Wiki. Not to replace Obsidian, which I use every single day, but more as an exercise of feasibility, could I even do this? And it got quite far. Hub can read my Obsidian vault now and almost everything works. The only thing missing is the plugins, which is also exactly the reason why I have not quit Obsidian.
Something else I used a lot in Obsidian was the daily notes. But when I looked at how I was actually using them, most of the times it was just to capture random single items: a picture of something I saw in the street, a movie somebody recommended me, some quick thought. For that, the daily notes were a bit cumbersome, both the capture part and the retrieval part. So I made a very specific module for this very specific use case.
From there I kept adding more and more modules. My favourites:
- RSS.
- Flows, which is basically a UI-less n8n. You drop a small Python script in a folder and it runs on a schedule, or on an event, or on a webhook.
- Chat, an agent that via tool calling can reach into all the other modules.
The chat is where it started to be really fun, because now I can say something like "create a wiki entry about Wanza Mian (a noodle dish from Chongqing), and add the ingredients to the grocery shopping module" and it just does it.
(image the chat)
It is not online, but you can have a look here: https://changeme.placeholder