thoughts on digital nomadism

A makeshift work space atop the rooftop terrace of Bob Marley Hostel in Luxor, Egypt, with a serene view of the Nile where peace is occasionally interpunctuated by the calls to prayer from the mosque nearby

There is a big difference between just going nomad and going digital nomad. The emphasis in the latter is on the word digital.

The digital nomad moves from one hub to another. He is restricted to hubs that have good internet connectivity.

He has the freedom to operate out of a lower cost base of his own choosing.

There are two distinct time zones he has to deal with. The work time zone and the time zone of his physical location. They do not necessarily need to coincide.

The following sets of technologies have really flattened the world making it really easy to operate from most places in the world.

  • Google Maps
  • Google FI
  • Uber for Ride sharing
  • Travel Tech like and Hopper
  • Facebook

Value provided by Lonely Planet is starting to seem really seem most especially the food and accommodation section . The main value add remains border crossings which are inherently complicated. This is where their online community shines. However liquidity of other communities like Facebook groups and trip advisor forums are really competitive too.

Observed part of the world during this trip is mainly on Facebook, WatsApp and Asian manufactured Android Phones.

Equipment replacement is the most critical consideration while quality of connectivity is an ongoing concern.


Reflections on the decentralized multi-sided market place – GetData.IO

The beginning

The concept of GetData.IO was first conceived back in November 2012. I was rewriting one of my side project ( in NodeJS back then. Part of the rewrite required that I wrote up two separate crawlers each for a different site which I was getting data for.

Very soon after I was done with the initial rewrite, I was once again compelled to write a third crawler when I wanted to buy some stocks on the Singapore stock exchange. I realized while the data for the shares were available on the site, they were not presented in a way that facilitated my decision making process. In addition to that, the other part of the data I needed were presented on a separate site and unsurprisingly not in the way I needed.

I was on my way to write my fourth crawler when it occurred to me, if I structured my code by cleanly decoupling the declaration from underlying implementation details, it is possible to achieve a high level of code re-use.

Two weekends of tinkering and frenzied coding later, I was able to complete the first draft of the Semantic Query Language and the engine that would interpret this query language. I was in love. Using just simple JSON, it allowed anybody the ability to declare the desired data from any parts of web. This includes data scattered across multiple pages on the same site or data scattered across multiple domains which could be joined using unique keywords.

The Journey

Five years have past since, during this time, I brought this project through an incubator in Singapore with my ex-co-founder, tore out and rewritten major parts of the code-base that did not scale well, banged my head countless times on the wall  in frustration due to problems with the code and with product market fit, watched a bunch of well-funded entrants came and went. To be honest, quite a few times I threw in the towel. Always, the love for this idea would call out to me and draw me back to it. I picked up the towel and continued ploughing.

It’s now June 2018. Though it has taken quite a while, I am now here in the Bay Area, the most suitable home for this project given to the density of technological startups in this region. My green card was finally approved last month. I have accumulated enough runway to allow my full attention on this project for the next 10 years. Its time to look forward.

The vision

The vision of this project is a multi-sided market place enabled by a Turing complete Semantic Query Language. The Semantic Query Language will be interpreted and executed upon by a fully decentralized data harvesting platform that will the capacity to gather data from more than 50% of the world’s websites on a daily basis.

Members can choose to participate in this data sharing community by playing one or more of the 4 roles:

  • Members who need data
  • Members who maintain the data declarations
  • Members’ who will run instances of the Semantic Query Language interpreter on their servers to mine for data
  • Member’s who sell their own proprietary data

From this vantage point, given its highly decentralized nature, it feels appropriate to deploy the use of block chains. The final part that needs to be sorted out prior to the deployment of blockchain to operate in full decentralized mode is figure out the “proof of work”.

Operations available in other database technologies will get ported over where appropriate as and when we encounter relevant use cases surfaced by our community members.

Why now and how is it important?

More as I dwell in this space, I see very clearly why it is only going to become increasingly important to have this piece of infrastructure in place. There are namely 3 reasons for this.

Leveling the playing field

The next phase of our computing will rely very heavily on machine learning. It is a very data intensive activity. Given that established data siren’s like Facebook, Google, Amazon and Microsoft have over the past years aggregated huge tons of data, this have given them a huge unfair advantage which might not necessarily be good for the eco-system. We need to level the playing field by making it possible for other startups to gain easy access to training data for their machine learning work.

Concerns about data ownership

GDPR is a cumulation of concerns of data ownership that has been building for the past 10 years. People will increasing want to establish ownership and control over their own data, independent of the data siren’s use to house them. This means a decentralized infrastructure which people can trust to manage their own data.

Increasing world-wide need for computing talents

Demand for engineering talent will only continue to increase as the pervasiveness of computing in our lives increase. The supply of engineering talents does not seem like it will be catching up and short fall is projected to continue widening till 2050. A good signal is the increasingly high premium paid to engineering talents in the form of salaries over the recent years. It’s just plain stupidity as a civilization to devote major portions of this precious engineering resource to the writing and rewriting of web crawlers for the same data sources over and over again. Their time should be freed up to do more important things.

The first inning

Based on historical observation, I believe we are on the cusp of the very first inning in this space. A good comparison to draw upon is the early days of online music streaming.

Napster versus the music publishers is similar to how the lay of the land was back 5 years ago when Craigslist was able to successfully sue 3Tap.

Last year, LinkedIn lost the law suit against folks who were scraping public data. This is a very momentous inflection point in this space. Even the government is starting to the conclusion that public data is essentially public and Data Siren’s like any of the big Tech should have no monopoly over data that essentially belongs to the users who generated them.

Drawing further upon on the music industry analogy, the future of this space should look like how Spotify and ITunes operate in the modern day online music scene

What about recumbents?

Further readings

Milestones and more milestones

From the statistics shown in Google Analytics, the changes made to the web application over the past few weeks has thus far had a positive impact on on the length and depth of incoming visits.

  • Average length of stay has increase a 100%, from a pathetic 53 sec beginning of last month to 2 mins and 30 secs
  • bounced rate has  dropped to an average of 6% from the previous 12% beginning of last month

The results could be attributed to the following changes:

  • Migration of web hosting server to Singapore where up to 70% of the visits are coming from, a choice resultant from analysis of data available in Google Analytics, as well as valuable inputs from end users.
  • Ajax auto count of items in each category when visitor scrolls to a new section of the map resulting in preempt of information users could browse through. (A feature adapted from
  • In the event whereby a visitor arrives in a page other than the main page, the starting category will be set to the one this content belongs to. The pheriperal markers will also be from the currently selected category. This results in increased relevancy in contents presented (A feature adapted from
  • The migration from in map content presentation to the use of the Thickbox library. Users can now browse through the current content with more ease and less irritation. This is a choice resultant from the series of usability analysis I conducted.
  • Auto population of Event contents from This is a feature inspired by Facebook’s newly launched Graph API and the existing Google Map API. The process is made more comprehensive by an ever growing internal dataset of locations specific to Singapore. After months of experience dealing with the Google Map API, I have concluded that while the Google Map Geocoding feature is pretty extensive, it has problems detected locations in the event whereby the location is referred in the local jargon.

Over the past few days, I have had the great opportunity to correspond with a few corporate event organizers and in the process receive some feedbacks. One of the features, resultant of my correspondences, will be the visitor analytics which event organizers will find useful.

Another set of features related to the first set will be the viral feature which I will hope to implement over the next two weeks, it will be somewhat inspired by one of the prototypes we have had the opportunity to build in Silicon Valley during the Techcrunch Hackathon. This second set of feature will be designed to increase foot track to events by organizers happening in Singapore, increase visibility of such events to the general public as well as aid in the process of customer retention.

Considering the fact that Singapore is in the midst of positioning itself as business hub where multiple international conventions will take place, the infrastructure for the online social media support for events is thus far minimal, if not non-existant. This might in fact be a niche that is uncompetited for and in demand.

Not only does concentrate on providing valuable information to people interested in attending events happening in Singapore, it also complements these events with information on related facilities at nearby premises.

Another thread of work to be done is the android application. I have had the opportunity to bring the HTC desire I recently acquired out for a test run and have identified some issues of concern which I will have to that into consideration when building the Android Application that will allows users to gain access to relevant information on while on the road. Thus far these are the issues identified:

  1. Content Synchronization vs Bandwidth Lag
  2. Content Synchronization vs Android SqlLite memory size
  3. Content Synchronization vs Battery Life
  4. Content Presentation vs Screen Size
  5. Content Presentation vs Relevance to User Experience

The options available for the Android Application are as follows:

  1. Map
  2. Listing View
  3. Grid View

While the above issues are important, there is a more fundamental underlying area which begs for my attention. I will need to identify the use cases that will be relevant towards the Android Application User experience when exploring Singapore on foot. This presents a difficulty for me at the moment as I have yet gathered a comprehensive set of data, enough at least to determine which features are critical to a Singapore explorer and which are not. The option available for my pursuit at the moment is that I do trial runs using other peoples application to determine the painful spots not covered as yet. However even, the resultant set might be biaised as it due to my personal experiences as Ricky once said. Hopefully this biased could be resolved via the feedbacks gathered from my test users (guinea pigs) after the initial prototype is developed.

The path ahead is still long. There is much to be accomplished.

Application of the framework from the Tipping Point

David K.K. a friend on facebook got my attention when contacted me two days ago stating his interest to have his events published on I instructed him that by simply signing in as a member on, the system will automatically poll his account and his friends’ accounts for newly created events  every 24 hours. Just for curiosities sake I went and did a manual polling for his account after getting his account id. To my surprise his account itself contributed close to 300 new upcoming events. To gain more understanding of this phenomena, I went and did a study on David K.K.’s facebook profile. Results showed he is one of the top ten members who have the most number of friends on This fact brought immediately to my mind a key point which I ever came across from the book “The Tipping Point”.

All individuals are not equal by nature, the differences could be attributed to their character, personality and natural disposition, as such when analysed in the context of the social network, some people are spokes (connected with just a few main people) while other people are hubs (connected to many people). According to the theory preached in the tipping point, to gain wide coverage for a message, it is important to gather the support of people that are hubs in a particular section of a social network as ambassadors of a sticky message.

After gaining this new insight, I modified a section of my codes to prioritize the polling of members accounts for events based on their number of friends.

Roadmap to #1

After talking with Pasha last night, I managed to further fine tune the picture of what I want to do with this new site which I will be devoting my entire time andd effort to for the next two years. It is a whole hearted commitment on my part to this idea I have been envisioning for the longest time. The first prototype ( seemed be getting rather popular amongst the locals, as well as nationalities from multiple countries that frequent Singapore.

By November 2010, I will stop all commercial activites relating to providing customized IT solutions to external third parties as well as all social activites that does not lie in the path I decide to thread.

Now what is aims to be a community platform that allows the easy sharing of location based information that will help make exploration fun and easy for travellers in various parts of the world. Being a natural extension to the original vision behind, this platform will be one that is by the people for the people.

One of the main challenges which me and Pasha have identified is the presentation of information of various forms.Thus far these are the types of content objects we have identified:

  • Bus stations
  • Travel routes
  • Accomodation Types
  • Scam and Rip offs
  • Border crossing procedures in remote parts of the world

With no intention to recreate the wheel, I started the initial prototype with the Joomla Content Management System with the use of the JomSocial component.

I envision that the various content objects will be described with the use of XML documents. A modular struture will be enforced. This will allow for easy system extension to accomodate more content object types as the platform progresses to later stages.

One of the main features for the content insertion process will be use wizards. The main intention behind this is to increase usuability for end users. I am currently pondering on how the use of XML could be used to provide a comprehensive description of a wizard content entry process.

A few months ago while I was less occupied, I did create a component for the Joomla 1.5 called the workflow component. It is somewhat similar. However due to sudden increase in commercial activites on my part, this project was left half baked and never released to the open source community. One of the main things I hope to accomplish now is to salvage chunks of the existing codes into this wizard engine I will be building for

Thus far these are my thoughts which I will slowly make reality over the next few weeks.