Concrete Compressive Strength Predictor

Compressive strength is one of the characteristics of concrete, which can be described as the amount of load it can withstand before gets broken into pieces. Mathematically, it can be represented as


The unit of compressive strength is denoted as Pa (Pascal). pascal

Problem Statement

The compressive strength of concrete is a non-linear function, and it varies based on the ingredients it contains and the number of days it is allowed to settle. In the construction industry, before the columns and pillars are constructed, multiple concrete blocks are manufactured with different ingredients and are allowed to settle-down for varied days. Then it is subjected to destructive testing using Universal Testing Machine (UTM) to arrive at the load-bearing capacity.

This process takes a lot of time and effort as each block has to be allowed to settle for weeks, if not months, before testing. Further, as this is the destructive testing, a significant amount of valuable resources are getting wasted.


To save time, effort, and resources, an interactive web application is developed to predict the compressive strength of concrete block in real-time. Under the hood, this application uses a Machine Learning model (Linear Regression) trained based on the dataset extracted from the University of California - Irvine’s Machine Learning repository.


The extraction of data, data wrangling, exploratory data analysis, feature engineering, and machine learning (ML) model generations was done in Python using Jupyter Notebook. The Flask micro-services framework is used to wrap the final ML model to expose it as a REST API. The API, ML model, HTML templates, and other static contents are pushed into Github. Heroku PaaS server, which is wired to Github repo, is used to deploy the API and other contents to host this app.

Click here to look at this application in full screen. To have a quick look, see below:

Chicago Food Inspection Forecasting

One of the biggest challenges The City of Chicago - Department of Public Health faces is keeping up with the the sheer volume of food establishments across the city that require sanitation inspection. The goal is to make that inspection prior to critical health violations.

There are just three dozen inspectors responsible for inspecting these 15,000 establishments on regular basis, amounting to ~420 establishments per person. Given the large number of inspections to be completed, the time and effort it takes to discover critical violations can mean prolonged exposure to potential disease, illness, and unsanitary conditions at some food establishments. This necessitates identifying of establishments that could likely be making a critical violation and the number of days before an inspection has to be made in those establishments.

The data for this forecast is taken from The City of Chicago’s GitHub location. On top of the basic models provided by them, I developed Logitic Regression, XGBoost, Extra Trees, and GBM predictive models. Using ShinyApps I created visuals to show the performance of each model and the number of days before an establishment has to be inspected.

Click here to look at this application in full screen. To have a quick look, scroll below:

Housing Loan Approval System

Using ShinyApps, I developed an interactive, end-to-end application that predicts whether a housing loan can be approved (or not) for customers when they apply for a loan at a financial institution. To predict the status, the customer’s basic personal and financial information are collected and fed into the system.

Based on the existing dataset, the system trains 5 different models and predicts the loan status of a new customer for each model. The final loan status will be determined by the majority ranking of all the 5 models.

Click here to look at this application in full screen. To have a quick look, scroll below: