I've always felt sorry for backend developers when they demo something that's really complex but no one gets excited. Then the frontend team demo a really simple UI and people go crazy.
@Dave_DotNet If validator attributes do not meet my requirements, I do what I have to do myself in the action method/business logic. I stand for Validation as a Business Logic lol
One of my mistakes when building products used to be adding dependencies too early.
Don't add a cache store until your database starts slowing down and you've tried optimizing it with indexes. Even then, start with a basic in-memory cache before adding Redis or Memcached.
Don't add a full-text search engine until you've pushed your database as much as you can with whatever full-text search features it has.
Don't add a message queue until your background jobs are starting to struggle with the load. Even then, start with a simple in-process queue, or see if you can use your database as a queue. Only then should you consider adding RabbitMQ, Kafka, or whatever.
Every new dependency comes with a cost, one more thing to maintain, and one more thing that can go wrong. These are the things you should avoid as long as you can.