LungLens is an educational application I built through NineOne to demonstrate what happens when lightweight computer vision meets a mobile learning experience.
It is built with Flutter, and the model runs through tflite_flutter directly on the device. That matters because the inference process stays local on mobile, which means the app can still be used even when the user is offline.
It is not meant to present itself as a polished medical solution. The point is more honest than that: LungLens is a technical and academic showcase for students, researchers, and anyone curious about how an image classification model can be packaged into a mobile app.
About this app
LungLens was developed to show how MobileNetV3 and computer vision can be used to recognize visual patterns in chest X-ray imagery based on public research datasets.
What I wanted to make visible here was not only the model itself, but also the bridge between research and product form:
- how a lightweight model can run on a phone
- how TensorFlow Lite inference can stay local on the device
- how technical output can still be presented clearly to a user
- how an academic prototype can be turned into something people can explore directly
Research abstract
Lung diseases, including COVID-19, tuberculosis, and pneumonia, are among the most common and deadly diseases worldwide. One of the main methods for diagnosing lung disease is through chest X-ray examination, but interpreting X-ray images requires specific expertise and often takes time.
This research explores a deep learning approach using a Convolutional Neural Network with the MobileNetV3 architecture. The advantage of this direction is that the model can learn visual features automatically from the image data while staying small and efficient enough for mobile execution.
For LungLens, the model was trained and tested using chest X-ray image datasets covering normal conditions, COVID-19, pneumonia, and tuberculosis. Based on the research results, the model achieved average accuracy, recall, precision, and F1-score values of 97%, which indicates that it performed well at distinguishing between these four classes in the evaluated dataset.
What makes this especially relevant for the app is the deployment angle: MobileNetV3 is efficient enough to support object classification and detection workflows on mobile devices more comfortably than heavier CNN architectures. That is why this project works well as both a research demonstration and a mobile engineering exercise.
Why I built it
Through NineOne, I do not only want to show websites or interface work. I also want to show how I think about applied technology when the work becomes more experimental, more technical, and more tied to real model behavior.
LungLens fits that direction well because it sits at the intersection of:
- mobile engineering
- machine learning demonstration
- interface clarity
- practical academic presentation
It is a good example of how I package technical work into something people can actually open, test, and understand.
Disclaimer
LungLens is a student research project for educational and demonstration purposes only.
It is not a medical device.
The model outputs are based on fixed datasets and do not represent real-time medical diagnosis. Even though the study shows promising classification performance, this app should not be used for health decision-making, medical advice, or diagnostic conclusions.
That disclaimer matters to me because research demos should be clear about their boundaries. Educational value is important, but so is honesty about what the product is and is not.
Technical features
LungLens highlights a few things that make the demo meaningful:
- Image pattern analysis to show how CNN-based classification can map images into labeled classes such as Normal, Viral Pneumonia, Bacterial Tuberculosis, and COVID-19 related labels
- MobileNetV3 implementation to demonstrate a model choice that stays lightweight enough for mobile devices
- Flutter application delivery to make the research model accessible in a familiar mobile interface
tflite_flutterintegration so the neural network runs directly inside the mobile app- Offline inference so the model can run locally on the device without requiring a network request for prediction
- Privacy-focused behavior because image data is not collected or sent to external servers
How the demo works
The flow is intentionally simple:
- Load a sample X-ray image.
- Run the local TensorFlow Lite computer vision inference.
- View the probability score distribution across the trained classes.
- Read the confidence pattern as part of academic study, not medical guidance.
That simplicity is part of the point. I wanted the app to be understandable as a teaching tool, not overloaded with extra product noise.
Why it belongs in this portfolio
LungLens matters in this project archive because it shows another side of how I build.
It is not only about static pages, UI polish, or product positioning. It also shows that I can take a technical concept, define its limits clearly, package it responsibly, and ship it in a public form that still feels approachable.
Availability
The app is available on Google Play:
