DEV Community

Max Katz
Max Katz

Posted on • Originally published at maxkatz.org on

Parabola, Watson NLU, News API and Twilio – tools I used to build a no-code application

One of the things I wanted to try is re-build an app built with code using no-code tools.

Gwyneth Peña built a wonderful app that sends a daily positive news article about COVID-19 via a text message:

I thought this is a great app I should try to build using no-code tools.

In this blog post I will share a high-level overview of the app and what tools I used to build. In a later blog post, I will share how I built the app in more detail.

Tools I used to build the app:

  • Parabola
  • News API
  • Watson Regular Language Understanding (NLU)
  • Twilio
  • API Connect Monitor and Test

Parabola is a no-code tool where I built the app. Parabola is a drag-and-drop workflow builder. You build a flow with multiple steps (nodes) and connections between steps. Each step has input and output. Output from one step is passed as input to the next step. You can also look at it as a serverless application – where each step represents a serverless function. But, instead of writing code, each step is dropped onto the flow and configuring. This is how the application flow looks:

App workflow in Parabola

The first step is API Import. This step allows to invoke any 3rd party API. In this application I’m using News API to get latest headlines on COVID-19 (you can search for any other topics as well).

JSON Flattener steps takes the News API JSON response and flattens it into key-based columns. This step converts the data into table-like format.

API Enrichment steps invokes Watson NLU service for each row (using article title) and determines the sentiment score for each headline.

Before I added News API and Watson NLU services to my Parabola flow, I tested both APIs in API Connect Monitor and Test tool:

Sort step sorts the results based on sentiment score (descending order). We are looking for the most positive article (highest sentiment score).

Rows Numbers step adds a row number to each row in our data.

With Row Filter step, we pick row number 1 which is also the row that has the highest sentiment score (because we sorted the results).

Add Column step adds a new column (phoneNumber) that store the phone number where to send the SMS message.

Text Merge step takes two columns (title and URL) and merges them together into a new column called textMessage.

Finally, the Twilio SMS step sends a text message to number in phoneNumber with message in textMessage.

Lastly, Parabola allows you to schedule when the flow should run (cron job):

Scheduling when to run a flow

The result looks like this:

Received message

I didn’t write any code to build this app. Parabola does have a (small) learning curve (BTW, their community forum is excellent), but that aside, it took me about 1.5 hours to build this app. Once you get over the learning curve, you will be able to build (very) fast. You should also have a good understanding how to invoke and test APIs (outside of Parabola).

It’s wonderful that we have tools today to build apps with no-code.

Oldest comments (1)

Collapse
 
chrisdrit profile image
ChrisDrit

Very nice!