I'd like the app to be on both iPhone and android.
Users can signup by phone number, Facebook, or Instagram.
There is no direct user name. A persons identity is a QR code. They should be able to add a friend by scanning the QR code of another device or adding them from the local group or chat.
Each user has a profile picture, name, and some basic biographical information. Links to social media if the user includes them.
Share location, yes or no. By default it is yes. If it is yes then when they are online an approximate distance is given.
Users have 3 privacy modes: Friends-only, Online, Invisible.
Friends only mode, Only friends can see they are online. If enabled, they would also see distance.
Online, everybody can see that they are online. If enabled, they would also see distance.
Invisible, Nobody can see that they are online.
Once a user is logged in, they can see the closest people near them who are not set to invisible. They can choose to add them as a friend, or message them directly.
The Chat system:
A regional chat is started when a person messages everybody near them. This is a regional room. If the person is moving, and active in chat they stay in this regional room until they are inactive for 60 minutes. They are warned they are about to go to a new region and may chose to refresh after 30 minutes, or abandon that specific regional room.
Private chats: One or more people may be in a private chat after accepting. This may be direct one user to another user. This may also be one user to many users. Each chat has to be accepted. There should be 2 numbers in the room. 1 Indicating how many active participates are in the room. Another indicating how many total participates are in the room. Clicking on this should show each user.
In any chat there needs to be a meet me button. Pressing it would put a navigation link in chat that would open in the phones default navigation system to the users location.
Include the language and software stack you will use.