Skip to content

Conversation

@DataDalton
Copy link

Add interactive map showing opted-in peer locations using city-level geolocation.

image

@fccview
Copy link
Collaborator

fccview commented Jan 2, 2026

Oh god this is so cool
would you be willing to add it to #10 in case?

that's incredible lol

@kiliantyler
Copy link
Collaborator

Definitely would love an ENV var that opts in so docker & k8s deployments can update without needing to opt in every time and don't need a data volume mounted

@DataDalton
Copy link
Author

Definitely would love an ENV var that opts in so docker & k8s deployments can update without needing to opt in every time and don't need a data volume mounted

I initially wanted to do it by environment variable, however, if someone doesn't configure the environment variable but clicks enable map then the only way to keep it persisted is by having a file

@DataDalton
Copy link
Author

DataDalton commented Jan 2, 2026

Although, it wouldn't be difficult to support both, if opted in via environment variable it doesn't need the enable map and is opted in by default and thus doesn't have to create a file and no mounted volume

@DataDalton
Copy link
Author

Oh god this is so cool
would you be willing to add it to #10 in case?

that's incredible lol

If that PR is merged first will update this one to resolve conflicts and fix any issues

@DataDalton
Copy link
Author

DataDalton commented Jan 3, 2026

Working on refactor for modularity rewrite #10

@kiliantyler
Copy link
Collaborator

This is super cool, I like it a lot!

I have a few concerns though

  1. Would it be better to just use the country database so that people aren't opting in to share their city data?
  2. I'd like a way to have the map turned off completely for people who don't want it. Currently it takes up a large portion of the page and it just sits there when not opted in. (GEOIP_DISABLED=true or something)
  3. It delays start time by initing the DB even though opting out is the default

@DataDalton
Copy link
Author

DataDalton commented Jan 3, 2026

This is super cool, I like it a lot!

I have a few concerns though

  1. Would it be better to just use the country database so that people aren't opting in to share their city data?
  2. I'd like a way to have the map turned off completely for people who don't want it. Currently it takes up a large portion of the page and it just sits there when not opted in. (GEOIP_DISABLED=true or something)
  3. It delays start time by initing the DB even though opting out is the default
  1. If the database is just the country database or the city database the same amount of data is shared/it is geolocating by their IP, so in the end we'd have their city data, it'd just be grouped by country instead, I think it is more cool to see it with city included but don't mind switching to just country

Edit: I should correct myself, the same amount of data would be used but not shared to other people/other people would only see country or see country + city in this specific location being sent, however, since this is a DHT peer-to-peer network, each others IPs are already exposed to each other so direct connections can be established, hyperswarm uses direct peer connections and IPs are in every TCP/UDP packet

Theoretically anyone could join the swarm and then get everyone's IPs by querying the DHT without a central authority to stop them, if someone were worried about this they should be using a VPN

  1. I can implement a toggle to hide it or an initial toggle to open and it start hidden, perhaps moving it to something like partially being opened in the bottom right

  2. I can switch this over to lazy loading

@fccview
Copy link
Collaborator

fccview commented Jan 3, 2026

hey @DataDalton given the addition of #20 and #15 we need to make sure we don't clutter the screen with things and keep that nice minimal counter going as it's the core of the application (yes i copy pasted the same message from there lol)

Would you be ok to wait until I build a drag modal system to have all elements you want to enable floating on screen and have a button to toggle the map so people can move it around on the screen wherever they want? We can have some nice minimal icons to open the various modals so you can access info whenever you want.

Sorry the FE lead in me is coming out making sure we think about user experience and scalability, even if this started as a meme 😆

Let me know, we can work together on this ❤️

@DataDalton
Copy link
Author

DataDalton commented Jan 3, 2026

@fccview This has already been moved to a button in the bottom right which clicks to open and shows a minimal map and then can be fullscreened, apologies for not sending new pictures, I'm currently off my computer for the night so I won't be able to send new ones for a while

If you'd like you can use the new design until the draggable shared system then I can update this to move to that, but it is now minimal/won't get in the way of those PRs

@fccview
Copy link
Collaborator

fccview commented Jan 3, 2026

@DataDalton sorry this is entirely my bad, just pulled the latest code. It looks exactly how i was imagining the system to work, it looks fantastic as is!

Let's wait for lklynet and coordinate this with the other pull requests, so much stuff to go in

@fccview fccview requested a review from lklynet January 3, 2026 08:06
@fccview fccview mentioned this pull request Jan 3, 2026
@DataDalton
Copy link
Author

@fccview Awesome! It's no problem!

Since I'll be off for the night (timezones!) it'll be some time before I can make any adjustments to this if needed depending on merge order and potential conflicts

@lklynet
Copy link
Owner

lklynet commented Jan 3, 2026

This is a really great idea! Another implementation could be a heatmap of our entire swarm. If users opt-in, their node reports CPU Temperature. We can calculate exactly how much global warming Hypermind is contributing to in real-time.

nvm i just looked into requesting cpu temp via docker and no one has time for that.

This technically wouldn't have to be opt-in since nobody is requesting or offering anything new, its just the public IP that's already being shared, right?

@fccview
Copy link
Collaborator

fccview commented Jan 3, 2026

Trying to fix the conflicts, there's a ton, I can't get the map to show any location in either the branch without conflicts and the one with, so trying to figure out why and what's meant to be looking like to begin with ♥️

@lklynet
Copy link
Owner

lklynet commented Jan 3, 2026

Trying to fix the conflicts, there's a ton, I can't get the map to show any location in either the branch without conflicts and the one with, so trying to figure out why and what's meant to be looking like to begin with ♥️

check out #20 I added the map, link to open it, and minimize chat

@fccview
Copy link
Collaborator

fccview commented Jan 3, 2026

Trying to fix the conflicts, there's a ton, I can't get the map to show any location in either the branch without conflicts and the one with, so trying to figure out why and what's meant to be looking like to begin with ♥️

check out #20 I added the map, link to open it, and minimize chat

Right.. I finally fixed all conflicts and got this map working hahaha do we get both maps in? Haven't tried the other branch yet, I'll play with it later lol

@DataDalton
Copy link
Author

This technically wouldn't have to be opt-in since nobody is requesting or offering anything new, its just the public IP that's already being shared, right?

You're correct in that it technically doesn't have to be opt-in and that it's not collecting any data that it doesn't already have, it's more so a best practice. I'm willing to switch to either though depending on what you want, might get more people if we just remove the opting in

@DataDalton
Copy link
Author

Trying to fix the conflicts, there's a ton, I can't get the map to show any location in either the branch without conflicts and the one with, so trying to figure out why and what's meant to be looking like to begin with ♥️

check out #20 I added the map, link to open it, and minimize chat

Right.. I finally fixed all conflicts and got this map working hahaha do we get both maps in? Haven't tried the other branch yet, I'll play with it later lol

I'm just waking up so it'll be an hour or so until I'm able to aid, if you're willing to wait I can make sure any conflicts are resolved here to be merged

@DataDalton
Copy link
Author

@lklynet Can you make a discord server? It'll make communication a lot easier

@lklynet
Copy link
Owner

lklynet commented Jan 3, 2026

Trying to fix the conflicts, there's a ton, I can't get the map to show any location in either the branch without conflicts and the one with, so trying to figure out why and what's meant to be looking like to begin with ♥️

check out #20 I added the map, link to open it, and minimize chat

Right.. I finally fixed all conflicts and got this map working hahaha do we get both maps in? Haven't tried the other branch yet, I'll play with it later lol

amazing timing lmao

@lklynet
Copy link
Owner

lklynet commented Jan 3, 2026

@lklynet Can you make a discord server? It'll make communication a lot easier

https://discord.gg/45y2qtf3

@DataDalton
Copy link
Author

Changing to remove the opt-in and just have it always enabled, it's available to everyone anyways, this way we can have a more full map

@DataDalton DataDalton mentioned this pull request Jan 3, 2026
@fccview
Copy link
Collaborator

fccview commented Jan 4, 2026

#36 well fuck.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants