you're right from your point of view. I also think this project is probably too custom to get extensive interest. although you never know. some really cool projects did start out as custum hacks someone made. JS, redis, Dropbox and Perl (I think). not that I'm comparing it to those in terms of impact. and I certainly don't want the lonely and underpaid burden of being a popular project's open source maintainer.
anyway, for me some reasons that contributed to my choice to make it by hand almost totally from the ground up were:
- learning experience. I just kind of wanted to learn about databases since they're so widely used. good to build one to do that - desire to simplify. those apps are everywhere and there's a lot of complexity and opinion that goes around that so I wanted to see if I could have my stab at simplifying for myself the conceptual model. I figured that would make it easier for me to use and build those kind of apps in future - desire to use tools that fit me. I really find myself more productive if I can use tools that are well suited to how I think and work. so often I like to build my own tools. and having whole stack like that give me a sense of satisfaction that I've touched all parts of the project in a sort of craftsmanship manner. - ownership for quality. doing it that way meant I could create everything to my own standard and specification and not have to rely on other people for quality. if something went wrong then I knew that it was my responsibility and I could fix.
I'm quite scared to look foolish by sharing the following and that's sometimes I wondered when doing this that maybe would have been easier just to use someone else's database or someone else's templated feature equivalent app. and I was really about to kind of give up on this whole project when something's not working, I almost chucked it all the way but that sort of "last straw bug" never happened and I just pushed through.
I suppose what I hope to achieve by releasing it publicly and posting it here is mainly just to mark the moment for myself that I have achieved this and that it's in a state where I feel okay I can stop an intense period of work on it. because i could achieve most of what I originally set out to do.
and I'm somewhat aware that there's not that many examples of templates like this, common as these apps are, and if somebody wants to inspect the code at least it can sortof maybe give them a starting point to understand how one person anyway thinks about solving these problems.
I'm not even saying that that can be helpful for other people very much but it can probably help some people some of the time.