Years ago, probably around 2006 or so, I was driving main street of the city I had been living in for a few years, and something caught my attention: there was an empty lot that didn’t used to be empty. A place shut down. Someone’s dream had come to an end for one reason or another. And what’s worse.. I couldn’t for the life of me remember what it used to be.
I began asking around, friends, family, and even strangers to ask what was once there, and finally someone managed to remind me what it was. I can’t to this day remember anymore, but it did spark an idea that’s been on my mind ever since.
The Road Leading Up
I’ve been interested in crowd sourced information for so long, one of my earliest independent programming endeavours once I had figured out PHP around 2000, was to build a gaming website that allowed registered accounts to contribute granular data to an ever growing database of gaming information. I wanted this thing to be the central hub of all things video games for years to come.
Eventually, early the following year, Jimmy Wales would unleash Wikipedia on to the world. Not only did this platform light the world on fire, it coined an easy to remember unique name with which to refer to the style of content I was so eager to gather: Wiki. It was both life changing for me, and a bit demoralizing at the same time. Wikipedia could easily accomplish everything I was building up, if just a bit less granular.
Many years later, 2007 to be exact, Jeff Gerstmann would be unceremoniously fired from GameSpot.com, and a small dedicated crew of his friends would expat along with him willingly. Notably one Ryan Davis, who together formed GiantBomb.com, which would show me exactly what the fruits of my labor would have looked like had I just continued building my project instead of outright abandoning it. They had succeeded in building a competent all-encompassing video game database, publicly editable, vettable, and moderated; even served over a publicly accessible API.
The level of jealousy I felt, and the level of self deprecation and defeat I placed on my own shoulders was likely not warranted, but I felt it anyways. I took the brunt of several staggered months of beating my own self up for having given up on what was objectively a cool idea that could have made a small impact on the world, not unlike Wikipedia and GaintBomb.
I wasn’t about to let that happen again. But what was I going to do about it?
In 2012, I managed to crawl my way into my first professional job as a web developer for a small web dev shop in Kelowna, BC. This job was low paying and grueling, but it was instrumental in getting me up to speed with advanced database management beyond the surface level basics. It is here where I developed a passion for the discipline of storing and retrieving dynamic data. It is also here that I attribute to forcing me to go spelunking into the wild and weird world of mobile app development, and falling in love with it.
But we’re talking about websites that get maybe 10s of hits to maybe a couple hundred hits per day. It was my next two jobs at EA and Fortinet that were instrumental in getting me up to speed with enterprise grade development, and practice dealing with hundreds of thousands of hits per day, sometimes per hour.
Two things have remained true all these years.
- A passion for crowd sources information
- A passion for datastore design
It is with these that a few years ago I formulated an idea I’ve been sitting on ever since.
I call it: GeoWiki.
At it’s core, it’s design is simple, and clean, with a few principal drivers
- The GeoSpatial Indexing engine needs to be accurate, and yet slightly forgiving
- GeoSpatial coordinates anywhere in the world should be fast to create, and even faster to request
- Geo Points on can have arbitrary metadata assignable to them
- All assigned metadata is publicly consumable and publicly editable at all times
- All data should be anonymously flaggable by the public, and moderatable by trusted users
I’ve performed exhaustive research over the tools and technology stack I wish to use to perform these tasks. I think anybody with any knowledge of what I’m attempting to accomplish would be in agreement for the most part of what I’m about to lay down. But here goes anyway
If you take a few moments to read over the decisions I’ve placed on each tech, you’ll see that I’ve been prototyping and mulling over these decisions for years. Now the decisions are locked in, and it’s time to get to work.
I can’t wait to share this with you.
A developer his entire adult life, Kyle spends his professional and free time finding new and interesting ways to solve the same boring problems (less he drive himself insane).
When not slinging code, he can be found being the happiest father and husband to the best little family ever!