Submit a solution
The challenge is finished.

Challenge Overview

Our client, General Electric (GE) provides Predix - The platform for Industrial Internet of Things (IIoT), which helps to develop, deploy, and operate industrial apps at the edge and in the cloud. It securely connects machines, data, and analytics to improve operational efficiency. Among other services, Predix powers CityIQ - An open and interoperable IoT platform enabling developers and partners to build applications that drive new city services, optimize operations and improve citizens’ quality of life.

GE wants the Topcoder community to work with Predix and to create sample applications that emulate various devices interoperating with Predix services over the network. This challenge is a part of a series of Predix contests with the total prize pool over $10,000. We hope you will take time to register for Predix, read about the services they provide, and configure your environment. Other challenges in this series may use different technology stacks and approach very different problems, but all of them will utilize Predix account and different services provided by the platform.


If you have not registered already, go to and join Topcoder Predix Community. Fill out the registration form and confirm your email address. Once completed, you will receive community welcome email with a link to register your Predix developer account.

During registration of the Predix dev account use the personal account type. Be aware that approval of the Predix account can take a few days at the Predix side. To facilitate the process, please message in the challenge forum your Topcoder Handle / First and Last Name / Email that you have used for registration of Predix account. We will pass these data to GE Predix team to speed-up the process.

Eligibility: As of now, residents of the following countries are not allowed to register in Predix, hence they won’t be able to participate in this challenge: China, Cuba, Iran, North Korea, Russia, Sudan, Syria.

Challenge Scope

In this challenge you will develop a simple proof-of-concept application, that combines together services provided by CityIQ (Pedestrian and Traffic data), Predix (Assets and Cloud), and Google (Maps and Places) to solve (in a naive way, for now) the following problem.

Imagine you are looking for optimal locations in a town to place some services (like opening some kind of shop, office, a restaurant, gas station, whatever). Among other things you have to pay attention to in evaluating potential locations, you’ll surely wonder:
  1. Are there other similar businesses around that location (i.e. how big is the competition - you hope to minimize competition as much as possible).
  2. What is the pedestrian / transportation traffic around this location (it can potentially bring you more clients, publicity).
  3. Many other things, including availability of appropriate property to buy / rent, the prices for that, etc.
The services mentioned above allow you to get data on (1) and (2), so we want to combine them in a simple app that answers such queries and stores the results in a database. In general this task is quite open-ended, so feel free to be creative and discuss your ideas in the challenge forum, or directly contacting copilot, if you have a great idea related to this concept and don’t want to share with others.

Technically, please follow the standard best practices of Topcoder development competitions. Here is the list of our current expectations from your solution:
  1. Backend. NodeJS / ExpressJS, hosted in Predix Cloud (launchable locally for development). Serves a simple frontend, and also provide necessary backend services:
    1. Given a location (area) and type of businesses it gets from Google.Places API locations of such businesses around specified location.
    2. Given a location (area) it gets from CityIQ data on pedestrian / transport traffic in the specified location.
    3. Stores the user’s query in Predix.Asset along with the results received in (a) and (b).
  2. Frontend. Angular 4 or ReactJS, whatever you prefer. Clean and simple. It should provide a way to make the query (location + type of business), send this to the backend, and then visualize response on Google.Map.
In the challenge forum you’ll find some further materials related to CityIQ platform.

Final Submission Guidelines

Submit your code along with brief verification instructions and demo video.


2018 Topcoder(R) Open

Review style

Final Review

Community Review Board


User Sign-Off

ID: 30059233