Building Data-Driven Applications with Danfo.js: A practical guide to data analysis and machine learning using JavaScript

Odegua, Rising, Oni, Stephen



Key Features

  • Build microservices to perform data transformation and ML model serving in JavaScript
  • Explore what Danfo.js is and how it helps with data analysis and data visualization
  • Combine Danfo.js and TensorFlow.js for machine learning

Book Description

Most data analysts use Python and pandas for data processing for the convenience and performance these libraries provide. However, JavaScript developers have always wanted to use machine learning in the browser as well. This book focuses on how Danfo.js brings data processing, analysis, and ML tools to JavaScript developers and how to make the most of this library to build data-driven applications.

Starting with an overview of modern JavaScript, you'll cover data analysis and transformation with Danfo.js and Dnotebook. The book then shows you how to load different datasets, combine and analyze them by performing operations such as handling missing values and string manipulations. You'll also get to grips with data plotting, visualization, aggregation, and group operations by combining Danfo.js with Plotly. As you advance, you'll create a no-code data analysis and handling system and create-react-app, react-table, react-chart, Draggable.js, and tailwindcss, and understand how to use TensorFlow.js and Danfo.js to build a recommendation system. Finally, you'll build a Twitter analytics dashboard powered by Danfo.js, Next.js, node-nlp, and Twit.js.

By the end of this app development book, you'll be able to build and embed data analytics, visualization, and ML capabilities into any JavaScript app in server-side Node.js or the browser.

What you will learn

  • Perform data experimentation and analysis with Danfo.js and Dnotebook
  • Build machine learning applications using Danfo.js integrated with TensorFlow.js
  • Connect Danfo.js with popular database applications to aid data analysis
  • Create a no-code data analysis and handling system using internal libraries
  • Develop a recommendation system with Danfo.js and TensorFlow.js
  • Build a Twitter analytics dashboard for sentiment analysis and other types of data insights

Who this book is for

This book is for data analysts, data scientists, and JavaScript developers who want to create data-driven applications in the JavaScript/Node.js environment. Intermediate-level knowledge of JavaScript programming and data science using pandas is expected.


Rising Odegua is the co-creator of Danfo.js and Dnotebook. He is a software and machine learning engineer with experience building data-driven applications in languages such as Python and JavaScript. Rising is actively engaged in building the developer ecosystem by giving talks, providing direct/indirect mentorship, working on open source projects, hosting meetups, and writing tutorials.

Stephen Oni is the co-creator of Danfo.js and Dnotebook. He is a software developer at Datopian, building data-driven platforms and tools. He is also an open source developer building tools that intersect the web and machine learning.


  1. An Overview of Modern JavaScript
  2. Dnotebook - An Interactive Computing Environment for JavaScript
  3. Getting Started with Danfo.js
  4. Data Analysis, Wrangling, and Transformation
  5. Data Visualization with Plotly.js
  6. Data Visualization with Danfo.js
  7. Data Aggregation and Group Operations
  8. Creating a No-Code Data Analysis/Handling System
  9. Basics of Machine Learning
  10. Introduction to TensorFlow.js
  11. Building a Recommendation System with Danfo.js and TensorFlow.js
  12. Building a Twitter Analysis Dashboard
  13. Appendix: Essential JavaScript Concepts