I suppose I could find out if I downloaded the app and tried it out but I'd rather read about how the app works than just run random programs on my phone. The website itself doesn't give much to go off of in terms of feedback-able content and the app pages just show some messages.
WHERE ssid = ?
AND (ap_mac = ? OR public_ip = ?)
That way you cover dynamic IPs and multiple access points by gradually meshing them in your database.
There is, of course, the risk that if you have multiple APs each with their own public IPs but part of the same college campus then this wouldn't work. But then neither would the current solution either. I don't know how you'd fix that without inviting APs into a chat (which isn't desirable because that would mean you'd then want a chat administrator. By which point you're effectively just reinventing Slack et al). So you'd want some kind of automatic way of doing that. But I'm not sure how you could do that safely.
Also there is the risk that if each student has their own public IP then you might also have a situation where there is multiple different chats because different students created a new uuid on different APs before roaming around the campus. When that happens you'd need a way of the server identifying that a public IP has joined a new uuid with an existing but different ap_mac and ssid so the two chats need to be merged.
There's definitely going to be quite a few edge cases that need solving but it's one of those challenges that looks rather fun.
[edit: the BSSID might also work in place - or in addition to - the access points MAC address. However there are some caveats you'd need to take into account with BSSIDs]