The trap I fell into: I specialized in WordPress performance. I was really good at solving complex performance problems. But...who is my client? Maybe eCommerce stores, but which of them have performance problems? Typically, when they did have performance problems they felt it was a temporary problem and didn't _really_ want to spend the budget to fix it.
So that's my warning: If you tout yourself as a tech-specific problem solver, you should have a clear picture of how you're going to find clients with that specific problem. I find this harder to do than the reverse process of picking a type of client and THEN identifying their problems.