Localcodes : Bringing location on-chain

Places, People and their relationships; all mapped out.

proto
6 min readJul 31, 2024

Roop Nagar, Prem Galli, Kholi № 420, Opp Hanuman Mandir

“Please come to the main road and take the third right from the McDonalds”
“The green house opposite ABR School”

We’ve all typed out these long descriptions and complicated addresses to make sure our deliveries, orders and rides get to the right place. Emerging markets, especially in the global south are extremely complex, and have non-standard addressing. This makes it hard for map products to resolve addresses effectively and match them with accurate locations.

Here’s why this happens,

Everytime you enter an address into Uber, Amazon or any other simillar product an API call is made for “Geocoding”; (the process of converting an address into a set of coordinates). This lets the service figure out where you are and process your request. In essence, the Geocoding API is taking your address and resolving it backwards. For eg. the address:
Roop Nagar, Prem Galli, Kholi № 420, Opp Hanuman Mandir, Delhi — 110032
The API determines your location as Delhi, within the pin code 110032, in Roop Nagar and so on.

This presents some obvious problems. If the address is in a non-standard format, has errors, is spelt wrong or is even slightly off; the API finds it hard to locate the place. Which has an impact on executing last mile deliveries or requests.

On average, this leads to economic losses worth $10–14 billion annually in India. It has an impact on not just deliveries and services, but also access to essential amenities like healthcare, disaster relief and banking for billions of people across the world.

In India, private consumption transactions through digital channels surged to over 20% of all private consumption during the pandemic and continue to grow rapidly. Each transaction typically involves delivering goods or services from point A to B, making accurate address resolution crucial for the efficient functioning of this system.

Translation of address: “448 Small temple, Just call me after you get to the temple”

Presenting Localcode

Localcodes are private, secure, human-readable codes for you to create and share your address data securely across the world to facilitate deliveries and services. Localcodes have a 4-part structure that makes understanding and sharing them extremely convenient.

Localcode Structure

Here are some examples:

  1. Shankar’s home address could be: shankar.home.proto
  2. Neha has two homes, one in Mumbai and another in Kanpur:
    - neha.home.proto/mumbai
    - neha.home.proto/kanpur
  3. Toit’s addresses for their locations in Bangalore could be structured as follows:
    - toit.bar.proto/{location1}
    - toit.bar.proto/{location2}
    - and so on
  4. This system is infinitely extendable and allows individuals and businesses to create customized localcodes for a variety of locations. Localcodes can be used to point to multiple types of address data based on the permission levels required.
    - They include sub-meter resolution coordinates for the location you chose to represent.
    - They include full address data
    - They include your location’s DIGIPIN
    - They include your location’s ProtoID (0.73 sq km h8 hexcode)
    - They are also connected to your master location (more on this later)

Users have the ability select and choose the level of detail they share with each service based on the specific requirements in each case. You can head over to Localcode.xyz to create your personal localcode for free.

Why now and why this?

Particularly in India, rapid urbanization and growth have made the address resolution challenge harder over time. Solutions like Google Plus Code’s, What3Words or Pataa have been tried in the past, however they have three fundamental challenges:

  1. Lack of interoperability: These solutions are exclusive to the platforms and hard to utilize and implement universally. Using plus codes on other platforms or with other non-google products is challenging. Localcodes are available for free and fully interoperable with any solution or product.
  2. Human friendliness and lack of customizability: These solutions rely on obscure strings or random words that are assigned to places. Its hard to communicate using arbitrary strings of data. Additionally, plus codes are assigned to places by default.
    - Ultimately the usage of an address is human lead; people use them, for their needs.
    - Localcodes are assigned to you, the person and you can assign them to addresses you choose and not the other way round. Completely personalized and fully private.
    - Localcodes are structured in a familiar, email id / UPI address like fashion, making them easy to remember and share.
  3. Complexity: Identifying and storing location data is complex, and ensuring spatial relationships are maintained often requires a lot of abstraction. Plus codes or other similar solutions end up transferring this complexity to the end-user. Your final string in a plus-code, represents not just the final location, but also its spatial relationships; which are irrelevant to the end user.
    - Localcodes bury all spatial relationships under the hood and store them on-chain. Presenting only the most relevant and human-friendly data to the user.
    - All spatial relationships, and master locations are still maintained and available for use on the backend via public API’s.
Source: Dr. Shantanu Bhattacharya | “The difference between a pincode-based sorting and local-address-based sorting. In this picture, the light orange area shows a typical pincode boundary. In this delivery center productivity can vary widely as optimal route planning becomes complex, as depicted by two delivery bikers’ routes”

Why proto?

Over the past 6 months, we at proto have developed a strong community of mappers both in India and worldwide. Our community has actively built a complete, verified, up-to date and accurate database of millions of PoI’s in some of India’s biggest cities like Bangalore, Mumbai, Kolkata, Delhi and many more.

Our PoI database, especially for India is the most comprehensive and our community is well-positioned now to maintain and continue our mission of mapping the world to the highest degree of accuracy.

It is time to take the next step in this journey by enabling and managing the localcode infrastructure. Our community built database helps us not only provision this infra, but also allows us to build a global graph of spatial relationships that live on-chain. By building localcodes on top of our existing community contribution infrastructure we can ensure that all places are properly located, indexed, correlated to their parent locations, have proper landmarking and are easy to resolve with a high degree of accuracy.

Here’s an example

We have a User A: Shankar

  • They live in an apartment with their partner Neha: 101, ABC Apartments, XYZ Neighborhood, Main Road, Near Major Hospital, New Delhi, 110001
  • And their office is at: 505, PQR Office Park, Building R, GHI Neighborhood, 2nd Road, Near University Gate K, New Delhi, 110053
  • Shankar creates two localcodes for these places, repsectively:
    - shankar.home.proto
    - shankar.work.proto

In proto, we already have ABC Apartments, Major Hospital, PQR Office Park, Building R and University Gate K mapped out as unique locations with assigned localcodes:

  • abcapt.apartments.proto
    (abcapt.apartments.proto/505 == shankar.home.proto == neha.home.proto)
  • major.hospital.proto
  • pqr.office.proto
  • pqr.office.proto/bldgr
  • anon.university.proto/gatek

It is safe to assume that several other users have each of these locations marked out for themselves as home, work or for other personal uses.

These result in a network of spatial relationships, that will not only simplify addressing but also enable a more powerful and interconnected way of understanding and utilizing location data. As we come closer to a world where we render infinite versions of reality perpetually, this network of relationships will become more and more valuable.

Enhancing the ease of navigation, improving the precision of location-based services, and fostering a deeper understanding of spatial relationships. By leveraging this infrastructure, we can drive innovation in how addresses are managed and utilized, building a new foundational layer for map-data and opportunities for new markets to emerge.

Networks of spatial relationships

Roadmap

Localcode registration is now live on localcode.xyz , you can create personal localcodes for free. The localcode API beta will be available soon for developers and businesses. If you are a developer interested in building with localcodes, please feel free to reach out with feedback at team@de-plan.xyz. You can also join our whatsapp community via our app (iOS | Android)

Localcode infrastructure for both creation and utilization will be available for free. We will continue to improve and enhance localcodes over the coming months. We envision localcode domains, code and infrastructure, managed in a completely decentralized manner by the community. This will be implemented progressively and we will continue to build in public and engage the community in the decision making process.

--

--

proto

proto is a user-generated, incentivized map of the world