If your technology solution turns out to be more complicated than the actual problem you’re trying to solve then you’ve probably fallen into the “over-engineering” trap. The temptation to try to be all things to all people, or to cram in as much functionality as possible, can be the death of many technology-based projects.