Olá, você precisa redesenhar o plugin de Localização para funcionar via GPS. Eu mesmo fiz isso, basta colocar JavaScript no template e enviar uma requisição PUT, funciona, mas acho que você pode fazer isso de forma mais profissional.
Em seguida, preciso atribuir a posição geográfica a cada novo tópico automaticamente, para que os dados do perfil sejam retirados dele.
Faça uma busca separada por usuários e tópicos no raio, mostre usuários e tópicos ao meu redor, mostre na página principal.
Para que as mensagens no chat também recebam um rótulo geográfico (lat/lon) e crie um thread de chat especial onde serão mostradas mensagens de pessoas que estão por perto.
Atribua tags geográficas a grupos ou categorias (não sei qual a melhor forma, haverá vários milhares de grupos) para que eu possa encontrar grupos perto de mim.