Any particular reason to use this language? Invidious uses this as well and it's been a major pain to contribute compared to a more mainstream language like Python, Ruby, PHP or Javascript.
I'm a ruby dev so as @bogwog mentioned, Crystal is appealing in it's similarly. I like being in a typed language, and it's _fast_. I'm running this on a very low powered server and it's holding up great.
Also, while I'm really glad it seems to have resonated with so many people, a huge part of this project was the learning I got from it. Getting better at Crystal's type system and the Lucky framework, discovering and using the monads library, learning how to deploy crystal, etc. I hear you on Invidious being difficult to contribute to. I've felt the same way. My difficulties have stemmed, not from crystal, but from the custom libraries that invidious needs. I effectively can't run it locally without Docker. Scribe should work fine locally.
Every language and framework has its tradeoffs. Rails would certainly have been the safer choice, but I also don't expect this to have massive contributions, so I went for the thing I was more interested in. Maybe that was a wrong choice, who knows!
So TL;DR I like crystal and wanted more experience with it. It felt like the right tradeoff for this project, this time.
The neat 3D spinning crystal on the landing page probably has a non-zero impact on adoption.
I don't see what else could be a big draw for it. Maybe it's appealing for Ruby devs, since it has a similar syntax? I've never used Ruby, but it probably makes more sense if you compare them.
Also, while I'm really glad it seems to have resonated with so many people, a huge part of this project was the learning I got from it. Getting better at Crystal's type system and the Lucky framework, discovering and using the monads library, learning how to deploy crystal, etc. I hear you on Invidious being difficult to contribute to. I've felt the same way. My difficulties have stemmed, not from crystal, but from the custom libraries that invidious needs. I effectively can't run it locally without Docker. Scribe should work fine locally.
Every language and framework has its tradeoffs. Rails would certainly have been the safer choice, but I also don't expect this to have massive contributions, so I went for the thing I was more interested in. Maybe that was a wrong choice, who knows!
So TL;DR I like crystal and wanted more experience with it. It felt like the right tradeoff for this project, this time.