IFTTT Smart City Data Integrator (SCDI) Project
IFTTT Smart City Data Integrator (SCDI) Project is a new medium for governments to deliver light touch digital services, that empower the citizen to customize their interaction with government while maintaining respect for their privacy. The IFTTT service has a tightly controlled user experience that allows us to present a consistent service to our citizens, in an era of poorly designed government app experiences. It enables us to democratize and operationalize data of all kinds to our citizens, solving a historic issue with Open Data, providing immediate and applicable value to the initiative. Louisville is the first government partner on this platform, which initiated the creation and adoption of Data Access Project by IFTTT.
The IFTTT Smart City Data Integrator (SCDI) Project is an open source API middleware that enables citizens to customize city data sources (Open Data, IoT, Smart City data) to fit their digital needs, using the IFTTT platform.
For example, Louisville Metro Government is exposing an in-house air quality API to this middleware, which connects to the IFTTT service. We have built a predefined applet that connects this to the service that Philips Hue has exposed to IFTTT. This allows the applet to trigger a color change on a Philips Hue lightbulb when the air quality changes. This is only one example, citizens can mix and match services as they like, adapting services in new and exciting ways.
Louisville Metro is currently exposing the following data sources to IFTTT:
- Air Quality Information
- Rave Emergency Alerts
- Louisville Metro News
- Louisville Metro Events
- Mayor Greg Fischer's podcast episodes
Program Features: The IFTTT Partner program also includes anonymized analytics, application health, performance, API testing and strict branding requirements to ensure a consistent and quality experience for citizens. Additionally it has the ability for a staging environment, private applets for testing, and suggested applets that are frequently created by users. Service implementation documentation is available here.
Cities & Federal Agencies that have signed up to IFTTT due to Louisville's involvement:
City of Tampa
City of Edmonton, Canada
Department of Labor
Bureau of Economic Analysis
Library of Congress
National Science Foundation
Energy Information Administration
Department of Defense
Department of Homeland Security, National Vulnerability Database
World Health Organization
Department of State
Any cloud provider
Federal agencies (18F, USDS, or any of the active IFTTT customers)
Local businesses, both corporate or small/mid (for instance in Louisville we have UPS & Humana)
IFTTT Partner Subscription
PHP/MySQL (current arch, running on a T2.Micro instance on AWS.)
Open Issues / Feature Requests: https://github.com/louisvillemetro-innovation/IFTTT-Smart-City-Data-Integrator/issues
Getting Started - Installation Instructions
After cloning this repo, there are a couple of preparation steps that must be taken in order to get everything set up.
composer installat the root of the repo, to pull in all the required dependencies
A config file is required in order to specify your special environment variables such as API keys and special URLs. We have provided an
example.config.phpfile for you to start with. We recommend that you place this file somewhere outside of the project folder. Usually, you will have three of these files,
prod.config.phpwhich contains the correct variables for each environment.
With that being said, in
src/dependencies.php, you will find an
$envvariable that is used to load the proper environment configuration file, as well as the location of those files. In this example, the configuration files are located one level up from the root folder, but you can place it anywhere you'd like and point it to the proper location in the
You will need to create the tables described in the schema file that we've provided at