Cough for TB: Self-Check App


About Cough for TB Self-Check

The Cough for TB Self-Check app is an AI-powered cough-sounds-based screening solution to assess the likelihood of pulmonary tuberculosis in individuals, for the early detection and treatment of tuberculosis (TB).

Who should use this app?

The general population of India, from 18–100 years of age, who are not already on a TB treatment regimen.

Who shouldn’t use this app?

  • Individuals below 18 years of age and above 100 years of age.
  • Individuals currently on a tuberculosis treatment regimen.

Privacy Policy

We are firmly committed to protecting your privacy. Our privacy policy is available here.

How to use the app


The app can be installed on any smartphone with the following minimum specifications:

  • Android smartphone running OS version 5 and newer.
  • iPhone running iOS 11 and newer.
  • A working microphone on the smartphone.
  • Internet connectivity on the smartphone.
Registration and Authentication

The app registers and authenticates individual users using personal information and a one-time password (OTP) delivered via SMS.

Data Entry

Symptomatic data needs to be filled as per the instructions provided in the form. Before recording your cough sounds, please ensure the following:


  • Record the sounds in a well-ventilated and noise-free area.
  • Wear a mask.
  • Hold the smartphone at an arm’s length/3-feet distance from yourself.


  • Do not directly cough into the smartphone. Hold it across from you at a 90-degree angle.
  • Do not connect any external audio input device, e.g., headphones, earphones, external mic.
Interpret the results and taking action

The app, based on the input cough sounds and data, provides results as follows:

Likely to have pulmonary tuberculosis

Based on the automated inference, the individual’s chances of having pulmonary tuberculosis are high and they should consult a doctor and get tested to confirm the diagnosis.

Not likely to have pulmonary tuberculosis

Based on the automated inference, the individual’s chances of having pulmonary tuberculosis are low and they should consult a physician if symptoms continue.


  • The AI model in the app was trained on data captured at the facility-level (healthcare facilities).
  • The AI model has been trained on a data set containing subjects above 18 years of age and below 100 years of age. The model should not be used for individuals below 18 years of age or individuals above 100 years.
  • The sounds were recorded using smartphone microphones. No external attachments for audio input (e.g., for better clarity of audio signals) were used.
  • The AI model runs on cloud/ on-prem server instances.
  • Internet connectivity is required for the model to be able to interpret the cough sounds.
  • The app should be used in selected geographies and demographics, taking into account the characteristics of the data that went into building the AI model providing the inference.
  • Any undetected/unknown biases in the model that haven’t surfaced yet need to be carefully observed after deployment and must be reported to

ML Engineer


An ML Engineer at Wadhwani AI will be responsible for building robust machine learning solutions to problems of societal importance; usually under the guidance of senior ML scientists, and in collaboration with dedicated software engineers. To our partners, a Wadhwani AI solution is generally a decision making tool that requires some piece of data to engage. It will be your responsibility to ensure that the information provided using that piece of data is sound. This not only requires robust learned models, but pipelines over which those models can be built, tweaked, tested, and monitored. The following subsections provide details from the perspective of solution design:

Early stage of proof of concept (PoC)

  • Setup and structure code bases that support an interactive ML experimentation process, as well as quick initial deployments
  • Develop and maintain toolsets and processes for ensuring the reproducibility of results
  • Code reviews with other technical team members at various stages of the PoC
  • Develop, extend, adopt a reliable, colab-like environment for ML

Late PoC

This is early to mid-stage of AI product development

  • Develop ETL pipelines. These can also be shared and/or owned by data engineers
  • Setup and maintain feature stores, databases, and data catalogs. Ensuring data veracity and lineage of on-demand pulls
  • Develop and support model health metrics

Post PoC

Responsibilities during production deployment

  • Develop and support A/B testing. Setup continuous integration and development (CI/CD) processes and pipelines for models
  • Develop and support continuous model monitoring
  • Define and publish service-level agreements (SLAs) for model serving. Such agreements include model latency, throughput, and reliability
  • L1/L2/L3 support for model debugging
  • Develop and support model serving environments
  • Model compression and distillation

We realize this list is broad and extensive. While the ideal candidate has some exposure to each of these topics, we also envision great candidates being experts at some subset. If either of those cases happens to be you, please apply.


Master’s degree or above in a STEM field. Several years of experience getting their hands dirty applying their craft.


  • Expert level Python programmer
  • Hands-on experience with Python libraries
    • Popular neural network libraries
    • Popular data science libraries (Pandas, numpy)
  • Knowledge of systems-level programming. Under the hood knowledge of C or C++
  • Experience and knowledge of various tools that fit into the model building pipeline. There are several – you should be able to speak to the pluses and minuses of a variety of tools given some challenge within the ML development pipeline
  • Database concepts; SQL
  • Experience with cloud platforms is a plus

ML Scientist


As an ML Scientist at Wadhwani AI, you will be responsible for building robust machine learning solutions to problems of societal importance, usually under the guidance of senior ML scientists. You will participate in translating a problem in the social sector to a well-defined AI problem, in the development and execution of algorithms and solutions to the problem, in the successful and scaled deployment of the AI solution, and in defining appropriate metrics to evaluate the effectiveness of the deployed solution.

In order to apply machine learning for social good, you will need to understand user challenges and their context, curate and transform data, train and validate models, run simulations, and broadly derive insights from data. In doing so, you will work in cross-functional teams spanning ML modeling, engineering, product, and domain experts. You will also interface with social sector organizations as appropriate.  


Associate ML scientists will have a strong academic background in a quantitative field (see below) at the Bachelor’s or Master’s level, with project experience in applied machine learning. They will possess demonstrable skills in coding, data mining and analysis, and building and implementing ML or statistical models. Where needed, they will have to learn and adapt to the requirements imposed by real-life, scaled deployments. 

Candidates should have excellent communication skills and a willingness to adapt to the challenges of doing applied work for social good. 


  • B.Tech./B.E./B.S./M.Tech./M.E./M.S./M.Sc. or equivalent in Computer Science, Electrical Engineering, Statistics, Applied Mathematics, Physics, Economics, or a relevant quantitative field. Work experience beyond the terminal degree will determine the appropriate seniority level.
  • Solid software engineering skills across one or multiple languages including Python, C++, Java.
  • Interest in applying software engineering practices to ML projects.
  • Track record of project work in applied machine learning. Experience in applying AI models to concrete real-world problems is a plus.
  • Strong verbal and written communication skills in English.