So the important thing you must keep in mind is:
When you look for your partner, do not look for that knight in shining armor, or the one who tags along with when you are at the top of your game. Those are seasonal people. When the spring in your life has passed and winter is setting in, you will find only a few sticking to you. Those are the people to reckon with.
There surely is one person, who has seen you at your worst, has an idea of how horrible you can be. The person you deserve as a soulmate is clearly the one who has been disguised as your friend, in your closest circle, has known you for years, has seen the ups and downs in your life yet believes in your immense potential.
The person you are searching for elsewhere, everywhere, might just be right under your nose. He/she is too plain, too dull or too familiar to set the spark in you, but definitely is the person your soul connects to.
Next time you search for your soulmate, turn around and look behind yourself, at the person you have overlooked.