๐ Earthly.city is becoming much more than a web map.

npub182jczunncwe0jn6frpqwq3e0qjws7yqqnc3auccqv9nte2dnd63scjm4rf
hex
231d81b581486c82b538645debfb62d550bf3b91c594216603603b8e24f4d5ednevent
nevent1qqszx8vpkkq5smyzk5uxgh0tld3d259l8wgut9ppvcpkqwuwyn6dtmgprpmhxue69uhhyetvv9ujuem4d36kwatvw5hx6mm9qgsr4fvpwfeu8vhefay3ss8qguhsf8g0zqqfug77vvqxze4u4xekagcxklpt0Kind-1 (TextNote)
๐ Earthly.city is becoming much more than a web map.
Over the past few weeks, we have made a big step towards an open geographic workspace that can be used on the web, installed on your devices, shared privately, and carried into places without reliable internet.
The most important new features are:
๐งญ A new tour page
๐ฑ The Earthly app
๐ Private groups โ public alpha
๐๏ธ Offline-capable Field sessions
โจ A massively improved AI map editor
๐งญ A new tour page
The new Earthly tour introduces the project through real workflows: drafting operational maps, asking spatial questions, collaborating across devices, publishing map-backed stories, and drawing offline from a phone.
Take the tour to get a better understanding of Earthly, its features, and its capabilities:
https://earthly.city/tour
๐ฑ Earthly is now an app
The Android app contains the complete Earthly workspace, adapted for touch, plus capabilities browsers cannot reliably provide: an embedded local node, Nostr relay, Blossom server, saved offline regions, nearby Field sessions, and a durable delivery queue. All built on #nostr technology.
Android on Zapstore:
https://zapstore.dev/apps/naddr1qqxxx6t50yhx2ctjw35xc7gprpmhxue69uhhyetvv9uju7npwpehgmmjv5hxgetkqgsxaamh579jgp06666dk2npjytygyfrkq70zjrgszzzsrd32sua43qrqsqqqlstt49k8z
macOS preview for Apple silicon:
https://github.com/zeSchlausKwab/earthly/releases/latest/download/earthly-macos-aarch64.dmg
โ ๏ธ The macOS build is currently an unsigned, unnotarized preview.
๐ Private groups โ public alpha
Private groups combine encrypted chat, comments, maps, and shared geometry in one workspace. Earthly uses MLS โ Messaging Layer Security โ to encrypt group records and update the cryptographic epoch whenever membership changes.
#Cordn coordinates membership and orders delivery through nostr:nprofile1qqsxkduqau5h9eeaxu9cfgl9rea2nt35haqjjwxul0vuta3myg2pdjqpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9mhwden5te0wfjkccte9ec8y6tdv9kzumn9wshszxnhwden5te0wfjkccte9ehx7um5wf3ksetrdvhx6ef0mhg2s8 over Nostr, but only receives opaque MLS records. It does not receive plaintext messages or maps. Invitations are signed, joining requires an MLS key package, and an administrator must approve new members.
๐ Join our Earthly test group -> the link is at the bottom of this post!
โ ๏ธ Private groups are still alpha. The MLS implementation is release-candidate software and has not received an independent professional security audit. Please experiment with us, report problems, and do not yet rely on it for highly sensitive or safety-critical coordination.
โจ A much more capable AI mapping assistant
Earthlyโs AI chat can now inspect the current map, research places, query geographic sources, create and revise structured geometry, and turn the resulting Dataset into an article with inline map references.
Tip: Try Kimi 2.7 code highspeed via the moonshot API. - ITS FUCKING FACE MELTING ๐
Its actions remain inspectable, and everything it creates becomes editable GeoJSON โ not a screenshot or a closed AI artifact.
๐ง Technically, the assistant combines typed editor tools, a bounded QuickJS geospatial sandbox, and remote ContextVM/MCP tools. Geographic research is federated across OpenStreetMap and Overpass, Wikipedia, Wikidata, and our private SearXNG service.
๐ Belt and Road map plus referenced article:
https://earthly.city/static/tour/ai-belt-road-story.mp4
๐ข Persian Gulf ports and global shipping routes:
https://earthly.city/static/tour/hormuz-ports-shipping.mp4
๐๏ธ Offline maps and nearby Field sessions
The native app embeds its own Nostr relay and #Blossom file service. Saved regions can keep map tiles and referenced resources on the device, verify them by hash, and load them locally.
Signed publications enter a durable SQLite outbox before the first network attempt and can be delivered byte-for-byte when connectivity returns.
๐ก Field sessions are a separate nearby collaboration mode. A host creates a signed, expiring, single-use invitation. Another phone joins over shared Wi-Fi or a hotspot, signs the pairing claim, and waits for explicit host approval.
The resulting permission is capability- and session-scoped. Devices can then exchange verified Nostr records and hash-verified Blossom files without depending on an internet connection or central relay.
๐ ๏ธ And many smaller improvements
Earthly now has proper multi-step drawing for rectangles, circles, triangles, and arrows; scaling controls with meaningful handles; larger arrowheads; real dashed lines; centered line labels; deletion for Private groups and Field sessions; a cleaner and collapsible AI configuration interface; better toast placement; model switching; and a swipeable mobile tour slider.
๐ฑ Earthly remains open source and built around open geography, open protocols, and user-controlled data.
๐บ๏ธ Open Earthly:
https://earthly.city
Private invitation link: https://earthly.city/privategroup/0a7d7d47-07ea-4ca9-a00d-34ca3d2dcab9?private-invite=eyJ2ZXJzaW9uIjoyLCJldmVudCI6eyJpZCI6IjdmYjlhM2ZkOTc4OWE1ZmMxZTI1NTg0YmU2ZDNhOTkwYWZhMjhmZDhlNGI5ZjJmNmZjNDQ0ZWY3MTllZTEwYWUiLCJwdWJrZXkiOiIzYWE1ODE3MjczYzNiMmY5NGY0OTE4NDBlMDQ3MmYwNDlkMGYxMDAwOWUyM2RlNjMwMDYxNjZiY2E5YjM2ZWEzIiwiY3JlYXRlZF9hdCI6MTc4NDk2ODQxMywia2luZCI6Mjc1MjQsInRhZ3MiOltbInQiLCJlYXJ0aGx5LXByaXZhdGUtbWFwLWludml0YXRpb24tdjIiXSxbIndvcmtzcGFjZSIsIjBhN2Q3ZDQ3LTA3ZWEtNGNhOS1hMDBkLTM0Y2EzZDJkY2FiOSJdLFsiZ3JvdXAiLCJlYXJ0aGx5OmY4Njc5NTIzYmZmNDRkZThhNmY5Y2Q2NzY0YjcyMjRlIl0sWyJhZG1pbiIsIjNhYTU4MTcyNzNjM2IyZjk0ZjQ5MTg0MGUwNDcyZjA0OWQwZjEwMDA5ZTIzZGU2MzAwNjE2NmJjYTliMzZlYTMiXSxbImNvb3JkaW5hdG9yIiwiZmQ1NDMxYTNmMDJkZGEzM2Q5Mjc4YWRjMmQ5NWUwMDdkYjdlZGYwY2Q0Mzc0NTA4YTNlYjFhOTJjMGM2NWUzNyJdLFsicmVsYXkiLCJ3c3M6Ly9yZWxheS5lYXJ0aGx5LmNpdHkiXSxbIm5vbmNlIiwiODZjNGE4ODJiZGQ4NDEyNmI1MDgzZjg4YzUyYjcxOTgiXSxbImV4cGlyYXRpb24iLCIxNzg1MDU0ODEzIl1dLCJjb250ZW50IjoiZWFydGhseS1wcml2YXRlLW1hcC1pbnZpdGF0aW9uLXYyIiwic2lnIjoiYTIzM2Y1YjA4YWUzNzQ4NWEzYWMwYWZiM2YxMjc1ZmUwZmViYTAwZmVjNjM1ODhjZWYzZTUzMDY5N2JjYjU5NmIyMDRiYTAwMDhkYmNlMmIyZTlkYzZjNTBkZDFhYjk3OTAwNzI5ODlmMDc1MmVjMDE4MTQ1NTQ1OTU1ZGE4YjIifX0
ๅๅง JSON
{
"kind": 1,
"id": "231d81b581486c82b538645debfb62d550bf3b91c594216603603b8e24f4d5ed",
"pubkey": "3aa5817273c3b2f94f491840e0472f049d0f10009e23de63006166bca9b36ea3",
"created_at": 1784969423,
"tags": [
[
"alt",
"A short note: ๐ Earthly.city is becoming much more than a web m..."
],
[
"p",
"6b3780ef2972e73d370b84a3e51e7aa9ae34bf412938dcfbd9c5f63b221416c8",
"wss://relay.damus.io/"
],
[
"t",
"nostr"
],
[
"t",
"Cordn"
],
[
"t",
"cordn"
],
[
"t",
"Blossom"
],
[
"t",
"blossom"
],
[
"r",
"https://zapstore.dev/apps/naddr1qqxxx6t50yhx2ctjw35xc7gprpmhxue69uhhyetvv9uju7npwpehgmmjv5hxgetkqgsxaamh579jgp06666dk2npjytygyfrkq70zjrgszzzsrd32sua43qrqsqqqlstt49k8z"
],
[
"r",
"https://earthly.city/"
],
[
"r",
"https://earthly.city/privategroup/0a7d7d47-07ea-4ca9-a00d-34ca3d2dcab9?private-invite=eyJ2ZXJzaW9uIjoyLCJldmVudCI6eyJpZCI6IjdmYjlhM2ZkOTc4OWE1ZmMxZTI1NTg0YmU2ZDNhOTkwYWZhMjhmZDhlNGI5ZjJmNmZjNDQ0ZWY3MTllZTEwYWUiLCJwdWJrZXkiOiIzYWE1ODE3MjczYzNiMmY5NGY0OTE4NDBlMDQ3MmYwNDlkMGYxMDAwOWUyM2RlNjMwMDYxNjZiY2E5YjM2ZWEzIiwiY3JlYXRlZF9hdCI6MTc4NDk2ODQxMywia2luZCI6Mjc1MjQsInRhZ3MiOltbInQiLCJlYXJ0aGx5LXByaXZhdGUtbWFwLWludml0YXRpb24tdjIiXSxbIndvcmtzcGFjZSIsIjBhN2Q3ZDQ3LTA3ZWEtNGNhOS1hMDBkLTM0Y2EzZDJkY2FiOSJdLFsiZ3JvdXAiLCJlYXJ0aGx5OmY4Njc5NTIzYmZmNDRkZThhNmY5Y2Q2NzY0YjcyMjRlIl0sWyJhZG1pbiIsIjNhYTU4MTcyNzNjM2IyZjk0ZjQ5MTg0MGUwNDcyZjA0OWQwZjEwMDA5ZTIzZGU2MzAwNjE2NmJjYTliMzZlYTMiXSxbImNvb3JkaW5hdG9yIiwiZmQ1NDMxYTNmMDJkZGEzM2Q5Mjc4YWRjMmQ5NWUwMDdkYjdlZGYwY2Q0Mzc0NTA4YTNlYjFhOTJjMGM2NWUzNyJdLFsicmVsYXkiLCJ3c3M6Ly9yZWxheS5lYXJ0aGx5LmNpdHkiXSxbIm5vbmNlIiwiODZjNGE4ODJiZGQ4NDEyNmI1MDgzZjg4YzUyYjcxOTgiXSxbImV4cGlyYXRpb24iLCIxNzg1MDU0ODEzIl1dLCJjb250ZW50IjoiZWFydGhseS1wcml2YXRlLW1hcC1pbnZpdGF0aW9uLXYyIiwic2lnIjoiYTIzM2Y1YjA4YWUzNzQ4NWEzYWMwYWZiM2YxMjc1ZmUwZmViYTAwZmVjNjM1ODhjZWYzZTUzMDY5N2JjYjU5NmIyMDRiYTAwMDhkYmNlMmIyZTlkYzZjNTBkZDFhYjk3OTAwNzI5ODlmMDc1MmVjMDE4MTQ1NTQ1OTU1ZGE4YjIifX0"
],
[
"r",
"https://earthly.city/tour"
],
[
"r",
"https://earthly.city/static/tour/hormuz-ports-shipping.mp4"
],
[
"r",
"https://github.com/zeSchlausKwab/earthly/releases/latest/download/earthly-macos-aarch64.dmg"
],
[
"r",
"https://earthly.city/static/tour/ai-belt-road-story.mp4"
],
[
"q",
"32267:6ef777a78b2405fad6b4db2a619116441123b03cf148688084280db15439dac4:city.earthly",
"wss://relay.zapstore.dev/"
],
[
"client",
"Amethyst"
]
],
"content": "๐ Earthly.city is becoming much more than a web map.\n\nOver the past few weeks, we have made a big step towards an open geographic workspace that can be used on the web, installed on your devices, shared privately, and carried into places without reliable internet.\n\nThe most important new features are:\n\n๐งญ A new tour page \n๐ฑ The Earthly app \n๐ Private groups โ public alpha \n๐๏ธ Offline-capable Field sessions \nโจ A massively improved AI map editor\n\n๐งญ A new tour page\n\nThe new Earthly tour introduces the project through real workflows: drafting operational maps, asking spatial questions, collaborating across devices, publishing map-backed stories, and drawing offline from a phone.\n\nTake the tour to get a better understanding of Earthly, its features, and its capabilities:\n\nhttps://earthly.city/tour\n\n๐ฑ Earthly is now an app\n\nThe Android app contains the complete Earthly workspace, adapted for touch, plus capabilities browsers cannot reliably provide: an embedded local node, Nostr relay, Blossom server, saved offline regions, nearby Field sessions, and a durable delivery queue. All built on #nostr technology.\n\nAndroid on Zapstore:\n\nhttps://zapstore.dev/apps/naddr1qqxxx6t50yhx2ctjw35xc7gprpmhxue69uhhyetvv9uju7npwpehgmmjv5hxgetkqgsxaamh579jgp06666dk2npjytygyfrkq70zjrgszzzsrd32sua43qrqsqqqlstt49k8z\n\nmacOS preview for Apple silicon:\n\nhttps://github.com/zeSchlausKwab/earthly/releases/latest/download/earthly-macos-aarch64.dmg\n\nโ ๏ธ The macOS build is currently an unsigned, unnotarized preview.\n\n๐ Private groups โ public alpha\n\nPrivate groups combine encrypted chat, comments, maps, and shared geometry in one workspace. Earthly uses MLS โ Messaging Layer Security โ to encrypt group records and update the cryptographic epoch whenever membership changes.\n\n#Cordn coordinates membership and orders delivery through nostr:nprofile1qqsxkduqau5h9eeaxu9cfgl9rea2nt35haqjjwxul0vuta3myg2pdjqpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9mhwden5te0wfjkccte9ec8y6tdv9kzumn9wshszxnhwden5te0wfjkccte9ehx7um5wf3ksetrdvhx6ef0mhg2s8 over Nostr, but only receives opaque MLS records. It does not receive plaintext messages or maps. Invitations are signed, joining requires an MLS key package, and an administrator must approve new members.\n\n๐ Join our Earthly test group -\u003e the link is at the bottom of this post!\n\nโ ๏ธ Private groups are still alpha. The MLS implementation is release-candidate software and has not received an independent professional security audit. Please experiment with us, report problems, and do not yet rely on it for highly sensitive or safety-critical coordination.\n\nโจ A much more capable AI mapping assistant\n\nEarthlyโs AI chat can now inspect the current map, research places, query geographic sources, create and revise structured geometry, and turn the resulting Dataset into an article with inline map references.\n\nTip: Try Kimi 2.7 code highspeed via the moonshot API. - ITS FUCKING FACE MELTING ๐\n\nIts actions remain inspectable, and everything it creates becomes editable GeoJSON โ not a screenshot or a closed AI artifact.\n\n๐ง Technically, the assistant combines typed editor tools, a bounded QuickJS geospatial sandbox, and remote ContextVM/MCP tools. Geographic research is federated across OpenStreetMap and Overpass, Wikipedia, Wikidata, and our private SearXNG service.\n\n๐ Belt and Road map plus referenced article:\n\nhttps://earthly.city/static/tour/ai-belt-road-story.mp4\n\n๐ข Persian Gulf ports and global shipping routes:\n\nhttps://earthly.city/static/tour/hormuz-ports-shipping.mp4\n\n๐๏ธ Offline maps and nearby Field sessions\n\nThe native app embeds its own Nostr relay and #Blossom file service. Saved regions can keep map tiles and referenced resources on the device, verify them by hash, and load them locally.\n\nSigned publications enter a durable SQLite outbox before the first network attempt and can be delivered byte-for-byte when connectivity returns.\n\n๐ก Field sessions are a separate nearby collaboration mode. A host creates a signed, expiring, single-use invitation. Another phone joins over shared Wi-Fi or a hotspot, signs the pairing claim, and waits for explicit host approval.\n\nThe resulting permission is capability- and session-scoped. Devices can then exchange verified Nostr records and hash-verified Blossom files without depending on an internet connection or central relay.\n\n๐ ๏ธ And many smaller improvements\n\nEarthly now has proper multi-step drawing for rectangles, circles, triangles, and arrows; scaling controls with meaningful handles; larger arrowheads; real dashed lines; centered line labels; deletion for Private groups and Field sessions; a cleaner and collapsible AI configuration interface; better toast placement; model switching; and a swipeable mobile tour slider.\n\n๐ฑ Earthly remains open source and built around open geography, open protocols, and user-controlled data.\n\n๐บ๏ธ Open Earthly:\n\nhttps://earthly.city\n\nPrivate invitation link:\nhttps://earthly.city/privategroup/0a7d7d47-07ea-4ca9-a00d-34ca3d2dcab9?private-invite=eyJ2ZXJzaW9uIjoyLCJldmVudCI6eyJpZCI6IjdmYjlhM2ZkOTc4OWE1ZmMxZTI1NTg0YmU2ZDNhOTkwYWZhMjhmZDhlNGI5ZjJmNmZjNDQ0ZWY3MTllZTEwYWUiLCJwdWJrZXkiOiIzYWE1ODE3MjczYzNiMmY5NGY0OTE4NDBlMDQ3MmYwNDlkMGYxMDAwOWUyM2RlNjMwMDYxNjZiY2E5YjM2ZWEzIiwiY3JlYXRlZF9hdCI6MTc4NDk2ODQxMywia2luZCI6Mjc1MjQsInRhZ3MiOltbInQiLCJlYXJ0aGx5LXByaXZhdGUtbWFwLWludml0YXRpb24tdjIiXSxbIndvcmtzcGFjZSIsIjBhN2Q3ZDQ3LTA3ZWEtNGNhOS1hMDBkLTM0Y2EzZDJkY2FiOSJdLFsiZ3JvdXAiLCJlYXJ0aGx5OmY4Njc5NTIzYmZmNDRkZThhNmY5Y2Q2NzY0YjcyMjRlIl0sWyJhZG1pbiIsIjNhYTU4MTcyNzNjM2IyZjk0ZjQ5MTg0MGUwNDcyZjA0OWQwZjEwMDA5ZTIzZGU2MzAwNjE2NmJjYTliMzZlYTMiXSxbImNvb3JkaW5hdG9yIiwiZmQ1NDMxYTNmMDJkZGEzM2Q5Mjc4YWRjMmQ5NWUwMDdkYjdlZGYwY2Q0Mzc0NTA4YTNlYjFhOTJjMGM2NWUzNyJdLFsicmVsYXkiLCJ3c3M6Ly9yZWxheS5lYXJ0aGx5LmNpdHkiXSxbIm5vbmNlIiwiODZjNGE4ODJiZGQ4NDEyNmI1MDgzZjg4YzUyYjcxOTgiXSxbImV4cGlyYXRpb24iLCIxNzg1MDU0ODEzIl1dLCJjb250ZW50IjoiZWFydGhseS1wcml2YXRlLW1hcC1pbnZpdGF0aW9uLXYyIiwic2lnIjoiYTIzM2Y1YjA4YWUzNzQ4NWEzYWMwYWZiM2YxMjc1ZmUwZmViYTAwZmVjNjM1ODhjZWYzZTUzMDY5N2JjYjU5NmIyMDRiYTAwMDhkYmNlMmIyZTlkYzZjNTBkZDFhYjk3OTAwNzI5ODlmMDc1MmVjMDE4MTQ1NTQ1OTU1ZGE4YjIifX0",
"sig": "addd068671d37f24f8bce77bcf7ab9fcf89b9576bb8dfc71c28ae228228ac6f2f5bc4dd800bf92441a9d34e838ddb515f9dd8a7ee79c035aebed343dd562182c"
}