Rishabh Rahul
← Back to all posts

The Truth Has More Than One Address

May 26, 2026
mapQR

Every idea has more than one path

On maps, grids, color, and why the same truth keeps showing up in different places.

In 2015, a friend of mine solved a physics problem using center of mass. I had solved it a different way. We got the same answer. I remember just staring at his working, not because it was wrong, but because it was completely different from mine and somehow just as right.

That bothered me for a long time. Not in a bad way. In the way that something bothers you when you sense it means something but you can't quite say what.

I think I've been chasing that feeling ever since.


2016. The map problem.

I was building a travel app in college. The idea was simple: give us your time, your budget, your places. We figure out the route.

The problem showed up before I wrote much code. Every time a user picked a destination, that was a Google Maps API call. Change your mind, another call. At any real scale, the costs didn't work. And that was just routing. For complete trip data you would need five or six different APIs running together.

So I decided to build my own map.

I had no idea what that actually meant.

I tried GraphHopper and OSRM. Both would route you down a highway on foot if the data wasn't tagged right. I found GIS Stack Exchange, downloaded real map data from Geofabrik, and tried to parse 18MB of OSM XML on my laptop. The laptop froze. I moved to Spark on Databricks just to unpack the file.

I read a research paper by Jun Feng on indexing and querying road networks. I didn't understand all of it, but I understood enough.

The core insight is that you can't run pathfinding on a full map at query time. The graph is too large. So you preprocess it. Keep the important nodes, throw away the noise, and run bidirectional search on what's left. The work happens before the question is asked.

It reminded me of how electricity moves through a circuit. Two directions. Resistance. The current finds the path of least resistance. The algorithm finds the fastest route. It is a different domain, but the same structure underneath.

By 2020 I had never shipped a map engine. But I understood how one worked.

I spent four years in college building something I never finished. At the time that felt like failure. It doesn't anymore.


2026. A webcam. A QR code.

Earlier this year I watched a video of someone transferring data between two computers using a QR code and a webcam. They were just holding one screen up to the camera while the other machine read it.

And something clicked.

A QR code is a grid. Each cell is black or white. On or off. One bit. The pattern encodes the data.

Coordinates work the exact same way. You take the Earth and divide it in half. North or south. One bit. Divide the half again. And again. Every cut doubles your precision. Keep going and every point on the planet becomes a unique address made entirely of left-right, up-down decisions.

Geographic space and a QR code are the same idea. Encode a location using the minimum possible information. Divide the plane and read the result.

I spent four years in college trying to understand maps, and the whole thing collapsed into a grid.


What if the grid could hold more?

A QR code cell is one bit because it is either black or white. But what if each cell held a color?

If you see orange, you know it is red and yellow mixed. If you see cyan, that is green and blue. The color tells you what went into it. You are not just reading a value, you are reading a composition.

Four colors would give you two bits per cell. Eight colors gives you three bits. It is the same grid, holding two or three times the data.

The problem is screens. Different displays render color differently. Cameras auto-adjust white balance. Lighting shifts perception. So you would have to limit yourself to colors that are maximally far apart from each other. Pure red, pure green, pure blue, yellow, cyan, magenta, black, white. Eight colors you can reliably tell apart even under bad conditions.

I thought why people are not doing this?

Microsoft Research built it in 2007. They called it High Capacity Color Barcode. They were thinking about product packaging. I got there from Andorra.

Same destination. Different roads. This keeps happening.


Why does this keep happening?

My friend's center of mass solution in 2015. The electricity and routing analogy. Geographic coordinates and QR codes. My color grid and Microsoft's HCCB.

These aren't coincidences. They are the same thing showing up in different clothes.

When you strip a problem down far enough, you eventually hit structure that doesn't belong to any one domain. It belongs to the problem itself. And because the structure is real, multiple people in multiple places will find it independently. They will call it different things. They will draw different diagrams. But they are standing on the same ground.

In physics they call it consilience. It is the idea that true things get confirmed from multiple independent directions. If two completely different methods give you the same answer, that is not a coincidence. It is evidence.

The spring problem had two solutions because the spring didn't care which framework you used. The map has one optimal path whether you find it with Dijkstra or bidirectional search or by asking someone who grew up there. The QR code works whether you call it a barcode or a coordinate grid.

The truth has more than one address.


What I actually think this means

I used to feel like I was always arriving late. Someone already built the map engine. Someone already made the color barcode. Microsoft got there nineteen years before me.

But I don't think that is the right way to look at it anymore.

I didn't read about HCCB and implement it. I got there from coordinates, which I got to from maps, which I got to because a Google API was too expensive for a college student with an idea. That path is mine. The destination was already on the map but the road wasn't.

And the thing I keep coming back to is this: if you go deep enough into any real problem, you stop being in your domain and start being somewhere more fundamental. The map problem stopped being about maps. The QR problem stopped being about QR codes. They both became questions about how much information you need to describe a location.

My friend didn't know center of mass would solve a spring problem. He just knew center of mass well enough that when he saw the problem, the connection was obvious to him.

That is the only thing worth building toward. Not knowing more things. Knowing a few things well enough that the connections start showing up on their own.

I'm still thinking about the color grid. Not because Microsoft didn't already do it, but because I came to it from coordinates and I think that angle might lead somewhere different.

I don't know where yet. But that is the same feeling I had in 2015 staring at my friend's working on a physics problem.

It means something. I just can't say what yet.

Written in 2026. The map code is on GitHub, rough edges and all. :)