13 April 2021
It’s a personal data store, so you can have all your data in one place instead of having it spread across a bunch of different services.
It’s a platform for making highly interoperable open-source web apps.
It’s a way for me to commoditize my complements.
To expand on the third point—the essential part of Findka (whether we’re talking about Findka Essays or The Sample) is the recommendation algorithm and its training data. That’s also where the network effects come from. The rest of Findka (the website, the emails, the rating controls) are complements to the algorithm that make it usable.
Hubert will open up the possibility of rewriting all those complementary things as open-source plugins. I could potentially expose Findka only as an API and move the current landing pages over to Hubert. Then it’ll be easier for me or anyone else to tinker with the way that Findka’s recommendations are presented, without cluttering up Findka’s code base.
To be clear, I don’t know if I’ll actually end up doing that. It’s just an idea I’ve been toying with, and Hubert is just an experiment. But it sure would be nice to run a business that consisted solely of an API. The API would be pretty simple too, at least at first. Enter the URL of an Atom feed that describes your content preferences, and in return you get another Atom feed of recommendations, updated daily. You’d specify how many recommendations you want per day/week and what type of recommendations you want. For example, at the start, we could easily support essay and newsletter recommendations. Over time we could add more types of things (music would be my next choice).
In general, I am extremely interested in the idea of Hubert becoming an open-source platform that helps people make money by providing APIs (or mobile/native apps that use Hubert as a back end). If we can get it to work for Findka, maybe it’ll work for others too.
There is an analogy here that’s too good to pass up: dark kitchens. First, there were restaurants. Food is aggregated at a bunch of different businesses. Then came food delivery services. Food starts to get aggregated at people’s homes and work places. Eventually, you start to get restaurants that are built only for the delivery services. They gain efficiency by letting someone else handle interfacing with customers.
With Hubert, food is data.
For anyone interested, I have a repository with the Hubert code I’ve written so far. I’ve finished the base: database, authentication, plugin system, and deployment. Tomorrow I’ll start writing some plugins.
Also, on Hacker News today I stumbled on HPI, a project that appears to have an overlapping scope with Hubert. It looks like the author has put a lot of thought into it. I’m looking forward to digging into it at some point.