mobile app


My first entrepreneurship stint – mewannawplay – a mobile app to find free neighborhood tennis courts. We built it to alleviate the pain of finding a unoccupied public tennis court.



MeWannaPlay (MWP) for Tennis is a cool new way to connect with tennis courts near you. Don’t waste time driving around your neighborhood searching for empty tennis courts or playing fields. MWP gives you access to real time information for more than 5,000 tennis courts across the country, so you spend more time playing and less time planning.

MWP provides you with a complete listing of the amenities and activities near you so you can find tennis courts on the go. MWP also connects you with other members to help you interact with fellow athletes, post messages and find partners.

Features –
MWP offers an easy to use, advertisement free interface that makes finding tennis courts a breeze. The application features:
✓ A homepage highlighting:
Courts near your current location
Unoccupied courts
Occupied courts
Partially Occupied courts
✓ Detailed information about each court including amenities, activities and contact details for that court
✓ Clear demarcation between public and private courts
✓ The ability to mark courts as occupied while you are playing
✓ A cool messaging system to help you communicate with other members of MWP and choose partners to play with
✓ The ability to check court details based on states and cities
✓ Tools to help you search and filter courts based on states and cities

Source code

The app however now is defunct.


Cat In The Box 😻📦

Since 2019, I have been working on this idea of leveraging Augmented Reality and Virtual Reality to make DIY moving and storage easy. The technology is almost there and I have put together a working prototype. Check it out 🤓 👇

Screenshot of


Cloud Crawling – How tomorrow’s cloud native application may operate (Part 2)

This article is continuation of Part 1. The cloud crawling solution provides a novel method of realizing a cloud-based architecture in which an enterprise can utilize clouds from different vendors across the world to locate its application, data and assets closer to the end user. In this article, I present a conceptual solution for it.

Cloud Crawling Solution

The solution comprises of four separate concerns:

  1. Cloud discovery
  2. Cloud selection
  3. Term negotiation
  4. Cloud orchestration
Cloud discovery

As the number of cloud vendors grows, it isn’t a stretch to assume the availability of a third party cloud discovery services in the future. These services will provide a directory lookup for different cloud vendors, very similar to the Domain Name Service. In this case, the service maintains an updated list of all the clouds for different regions and when queried by a region it returns a list of end points for all the clouds serving that region. The end points are addresses of cloud agents. A cloud agent represents the entry point for a cloud. It helps negotiate terms and enable deployment on the cloud.

The cloud discovery process finds all the available clouds for a given region by querying a cloud discovery service.

The following sequence diagram demonstrates the cloud discovery mechanism,

Cloud selection

The Cloud selection process selects a cloud from the list of clouds found by the cloud discovery process for a given region. The cloud that is selected will be the one on to which the application will then deploy itself.

The cloud selection process may compare the different cloud options using certain metrics such as pricing, available capacity, QoS statistics, past usage experience, SLAs, PCI compliance, number of PoPs etc.

The following sequence diagram demonstrates the cloud selection mechanism,

Term negotiation

The Term negotiation process kicks in after the cloud selection process has selected a cloud vendor. As part of the term negotiation process, the application and the cloud agent exchange their terms of use and accept or reject the contract. The contract may be binding on the cloud vendor to ensure the desired QoS for the application.

Cloud orchestration

Cloud orchestration acts as a supervisor and manages all the other cloud crawling processes – discovery, selection and term negotiation. Orchestration can be demand based or schedule based.

The cloud orchestration and all the processes which it manages make up the cloud crawling module of the application.

Example Application –

Demand based orchestration

In this approach, if the application discovers that most of the requests are coming from a particular region then the cloud orchestration module will initiate a crawl to a cloud in that region to move closer to the user base and better serve the demand.

e.g. In the figure below, the application is first brought up or seeded on a cloud in Region x. It then starts receiving request from several clients in Region y (1). As a response to the demand from Region y, the cloud orchestration module migrates the complete application to a cloud in Region y – cloud A (2). The clients in Region y are now served through cloud A in the same region thus lowering network latency (3). After some time, the traffic monitoring component registers several requests from clients in Region z (4). Again, the same steps are repeated and the application is migrated to cloud B, a cloud in Region z (5). The requests from clients in region z are now served by the deployment in cloud B (6).

Time based orchestration

In this approach the cloud orchestration initiates the crawling process as per a predefined schedule.

e.g. In the figure below, the application is first brought up in Region x and a schedule is defined as follows,

  • Time T0 – Region x
  • Time T1 – Region y
  • Time T2 – Region z

The orchestration module dutifully follows the schedule and deploys the application on Cloud A which is in Region y on time T1 and then cloud B which is in region z on time T2.


Multi-cloud deployment is already a reality and cloud crawling takes it one step further. I hope you enjoyed reading this article and would love to get your feedback.



control at you fingertips

Created a concept of a flexible sports wearable that brings smartphone control to your fingertips letting you focus on your activity without any interruptions (2016)


Using machine learning to achieve consonance in social media content

As sentient beings our consciousness is supported by all our five senses working together creating a holistic impression of our world such that the whole is greater than the sum of each. Hence it is not surprising that when we see an image its emotional impact on our mind is exaggerated if combined with music or the impact of the written word is heightened if it is overlaid on an image.

The question is whether or not we can quantify this seemingly subjective change in perception caused by mixing different mediums. There has already been a lot of research in the field of perceptual psychology, advertising and information technology to quantify this interaction between the visual and the auditory sensory modalities. It has been demonstrated that these interaction can be quantified using some of the features of the medium such as RGB values, HSI values, traverse lines for images and volume, pitch and timbre for sound (1 & 2) and by conducting simple experiments a model can be built which predicts the effect of music on the emotional impression of an image. The experiments cited in the research were conducted by first showing only images to the subjects and then showing the same images with the addition of different types of background music and measuring the change in the impression the image had before and after. However, given the limited number of subjects the model does have its limitations.

Today, a lot of the audio and visual information that we consume is fed via social media. Our daily lives are inseparably tied to different sources of data such as Facebook, Twitter, Pintrest, Spotify, Soundcloud, Pandora, Instagram, Flickr etc. that we consume for both – information and entertainment. By leveraging some of the existing research a machine learning (ML) model can be built such that given these different sources of content it can create combinations which achieve consonance – a presentation in which the audio, visual and the text elements complement each other and enhance the overall impact. Collective intelligence and a feedback loop will improve the model overtime – a limitation of the earlier research. Moreover, such a blended stream of curated content will create a unique entertainment experience adjusting to the user mood, time of the day, weather and which may be explicitly seeded to a theme such as ‘nostalgia’, ‘relaxation’, ‘party’.

Perhaps, an ML based system can be created on the research that exist out there in this field. The system would provide a service which delivers content in a way which minimizes clutter and produces an ambient symphony of photos, music and all types of social media content.

Here is my attempt on creating such a model –

No comments to show.