If you’re interested, I’d be happy to get on a call and rubber duck the design for something like this. This is fully in the “knowledge management” design space.
Yeah, these were my reaction as well
Totally an interesting project, from what I can tell it’s ambitious, but that also means that it could soak up a ton of your time that you may want to use shipping. Here be dragons A warning in advance that this road is littered with the corpses of thousands of developer hours and side projects that have come before you. Which doesn’t mean that it’s not worth doing; just that there are way more sharp edges here than at first blush. It’s “developer-nip”, because we know that there’s something there, but also keep crashing into the fact that this is an extremely deep domain to model.
Big chunks of this push towards semantic web territory, which is great for certain kinds of projects, but is unlikely to be the substrate for wide developer use, so I have open questions about what this needs to support as a first step.
If I’m understanding correctly, some of the biggest factors on approach are to think about are if you want top-down or bottom-up knowledge management. How clean does the data model need to be, does everyone need to be interoperable, what are the specific use cases? Can you build a really tight MVP, learn from it, and grow organically, or does the design need to be imposed from the beginning.
Genuine question: which parts of this would require IPFS? The internet itself is decentralized, and de-risking the project as much as possible by using RESTful endpoints is something to consider (unless you need content addressing.) How can you convince others to adopt your protocol? What’s problems for them does it solve? Where on the generality-to-power spectrum does it fall (the more general, the less powerful, and vice versa). How can you make it easy to adopt, what’s the shortest conceptual leap, most automated way to use it? There’s roughly infinite depth here, so are you hoping to extract this out of Cortex for others to use (i.e. build for your use case and see if others can use this, like how Rails got started), or does Cortex only succeed if you get massive adoption?
GraphQL + Next.JS for SSR?
That’s at a different layer, I wouldn’t worry about this at all to start
Yeah, we have all of that today in WNFS, though it would be at a lower level (“implementation detail”) for your proposed system, but would give you a speed boost not having to learn, design, and implement all of that first
For all of the above, I can point you at resources for persistent data structures, temporal structures, category theory (it’s a stereotype, but actually relevant here), traversal algorithms, and so on. Also, picking up some lean development methodologies would be helpful. But before doing a really nontrivial amount of reading, circle back to what Boris said above: really think about your use cases, the what rather than the how, and how you can start for your own use case, iterate, learn from, and so on.
Anyhow, always happy to help! Feel free to book some time in when you get further along and want to riff on design space