artahian
Joined 1 year ago
Joined 1 year ago
And when you take a step back and think for a moment, it just doesn't make sense that you have to run a whole separate team for something that's pretty much reusable across products.
"we just let our frontend engineer build the whole backend and schema and it turned into a disaster and wasn't maintainable"
and I was like - so it's the database's fault? :)
And great point - while we're focusing on full-stack web apps, I believe the same problem exists for other domains / stacks and there will most likely be more players focusing on these as well.
Relational dbs just have more built-in guardrails, but in our case we prefer to have the same guardrails in the framework.
The schema in Modelence is defined in your code, and at the moment the only use case where it's not enough is if someone directly modifies the database data externally. We're not against having the native MongoDB schema as an extra enforcement, the only reason we haven't added it yet is because it requires extra work to carefully sync both. I believe at some point we'll add it as an extra layer to prevent corrupting the data by direct modifications.
Later, the second realization is when you start needing deeper observability, and realize you have to bring in one more platform and set it up. Just adding another service is easy, but making them work seamlessly together is much harder. In this case the "failure" is that they realize they are spending way too much time to set things up to even see what's happening in their application in prod.