Comment by hindsightRegret
21 hours ago
Obviously no right answer, but personally I think worrying too much finding the perfect tool instead of just integrating more knowledge to your PKMS is a distraction.
Rolling your own solution is especially limiting in the context of the sheer amount of integrations the popular ones (like Notion for example) support.
You're basically saying you will quickly build something better than the X hundred engineers at PKMS company Y quickly and it will continue to be better than what X hundred engineers will iterate upon.
I think that time is just better spent learning and picking the subset of features that, for example, Notion offers that really improves your learning rate.
If you reframe it slightly, it can make sense. Those x hundred engineers are working on y hundred features / integrations. Do you need all of those? Do you want all of those? I bet a handful of those engineers are currently working on a brand new UI redesign that will move all the buttons you're used to. One of the engineers is adding a new cookie popup & enforcing SMS 2FA as we speak.
One of the things I dislike about moden software is the constant bloat and churn, because there are so many customers and so many different incentives for software companies to keep pushing features ad infinitum. In contrast, home-grown software like this has one customer and they know exactly what they want. It doesn't matter that a theoretical home-grown app doesn't integrate with the 10 social networks the user doesn't use, because it integrates perfectly with the one they do use.
This person isn't rebuilding the entirety of Obsidian, they're rebuilding the subset of parts they actually use and get value from, which is a much smaller project. By intelligently narrowing your scope like this, making stuff yourself is totally viable. Reframe "limiting" as "targeted".
I agree Notion is great. I prefer it if I need a shared PKMS such as a company wide document system.
That said I've played around with its API a few years ago and with page elements being block elements you need to loop through n amount of requests to get the content, it didn't make sense for my use case.