A low-code approach to incorporating machine learning into the Internet of Things

My coffee machine has unfollowed me.
My coffee machine has unfollowed me.
A comic where a guy, frowning, says to another, “My coffee machine has unfollowed me.” The Internet of Things — Geek & Poke

Gartner has predicted the number of connected devices will rise to over 25 billion by 2021. And given the variety of devices out there, getting started with IoT can appear daunting. Setting up communication with or between these devices is often non-trivial. Further challenges arise if you want to integrate machine learning! Solutions need to pull together different device APIs, services, and sometimes protocols.

Node-RED with TensorFlow.js brings machine learning to IoT in an easy, low-code way. It opens new, creative approaches to enable machine learning for the Internet of Things. Image recognition, audio classification, etc. …

Making music visually using TensorFlow.js, PoseNet, and the Web MIDI & Web Audio APIs

You + Webcam + TensorFlow.js = Beautiful (!) Music

Meet Veremin!

Veremin, is a video theremin that allows anyone to make beautiful (:-?) music just by waving their arms! It makes use of TensorFlow.js, PoseNet, as well as the Web MIDI and Web Audio APIs.

Veremin is the brainchild of johncohnvt, from the MIT-IBM Watson AI Lab, who built the first rough prototype. I was then able to whip it into something that really worked!

The application attaches to the video stream from your web camera. PoseNet is used to capture the location of your hands within the video. …

How to go from a web friendly format to a web application

“assorted-color textile leaves hanging decor” by DESIGNECOLOGIST on Unsplash

Edited 2019 Mar 11 to include changes introduced in TensorFlow.js 1.0. Additional information about some of these TensorFlow.js 1.0 updates can be found here.

Welcome to part three of a series of posts where I walk you through how TensorFlow.js makes it possible to bring machine learning to the browser. First, there’s an overview of how to bring a pre-trained model into a browser application. Then you’ll find greater detail on how to convert your pre-trained model to a web friendly format. Now in this post, we step through using that web friendly model in a web application.

We continue…

Converting a pre-trained model to a web friendly format

assorted-color leaves by Chris Lawton on Unsplash

Edited 2019 Mar 11 to include changes introduced in TensorFlow.js 1.0. Additional information about some of these TensorFlow.js 1.0 updates can be found here.

If you’ve been following along, you should already have a high level understanding of how to bring a pre-trained model into a browser application. Now, let’s look at the first steps in this process in greater detail.

Before you can convert a pre-trained model to a web-friendly format and bring it to the browser, you first need a model. A great first model to start learning with is the Image Segmenter from the Model Asset Exchange…

Applying a web friendly format to a pre-trained model resulting in a web application.

“assorted-color leaf hanging decor” by Chris Lawton on Unsplash

Edited 2019 Mar 11 to include changes introduced in TensorFlow.js 1.0. Additional information about some of these TensorFlow.js 1.0 updates can be found here.

TensorFlow.js brings machine learning and its possibilities to JavaScript. It is an open source library built to create, train, and run machine learning models in the browser (and Node.js).

Training and building complex models can take a considerable amount of resources and time. Some models require massive amounts of data to provide acceptable accuracy. And, if computationally intensive, may require hours or days of training to complete. …

Filtering data with PixieDust

Photo by Denisse Leon on Unsplash.

The New Kid on the Block

Previously, when using PixieDust to visualize your data, you first needed to shape the data by manipulating the DataFrame and then launch the visualization. As you explore the data, often you need to remove some data points and visualize only a subset. To accomplish this, you had to go back to your data, reshape it, relaunch PixieDust display with the updated data, and repeat this process until you get the visualization you desire.

With the introduction of Filter in PixieDust, this old workflow is made a little easier! In PixieDust 1.1.7 and later, you can define a filter while exploring…

Hit the ground running with a series of Offline First demo apps

Photo by rawpixel.com on Unsplash

When we don’t embrace Offline First for web and mobile application development, we let our users down. It’s frustrating when their favorite applications become unusable when disconnected or when operating under terrible network conditions. But much of the pain caused by unreliable internet connectivity can be alleviated with an Offline First approach.

Maintaining network availability and reliability can be difficult. Improving user experience, despite network conditions, doesn’t have to be.

Learning By Example

Developing offline-capable applications can be easier than you think, and our developer advocacy team at IBM has been working on a series of Offline First Shopping List sample applications to…

Packaging and distributing your PixieDust plugin as a Python module on PyPI


Previously, you learned how to create your own custom visualization for PixieDust. The visualization code was written and tested directly in notebook cells, which is great for proof-of-concept and rapid iterating. However, it may not be the best vehicle for packaging and distributing your work to a large audience.

Magic is best when it can be experienced by everyone. To get your visualization out there, you will need to take it from notebook cells to a Python module, and then to a software repository for others to download and use.

The props

To make sure your PixieDust magic is more easily consumable…

Getting started with custom visualizations, simple tables & word clouds


PixieDust, the open source Python helper library that extends the usability of notebooks, is quite adept at creating magic in notebooks. And with multiple visualizations available, there is magic to be had for just about any situation.

However, for the times when the default visualizations are just not quite what you are looking for, there are options. Sure, you can submit an enhancement request to get new visualizations into PixieDust, but why not get ahead of the game and try to create one yourself!

Most magic tends to be secretive and not readily shared, but PixieDust is open to all

Data visualization right in the dashboard, via userscript

Rebus: eye-candy for cloud-ant

IBM Cloudant is a fully-managed NoSQL database-as-a-service based on Apache CouchDB™. While Cloudant’s web UI provides a JSON view and a table view of your data, it does not, however, include a visual representation of your data.

There are numerous tools and applications out there to extract your data from Cloudant and visualize/analyze it. While these systems are powerful and definitely necessary, sometimes you just need a quick visualization.

The Candy Jar

With the SimpleDataVis npm module and a little userscript, you can easily integrate a data-visualizing view into Cloudant. Initially created for the Simple Logging Service visualization page, SimpleDataVis is a JavaScript…


crioulo de cova rodela

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store