For the game I am currently designing I want a matchmaking system (much like that of Halo or Starcraft 2)

What are some unforeseen issues you see me running into and what are your recommendations for developing it? Either on the UI side or backend.

Thanks in advance.
Ryan