Skip to main content
Medical Disclaimer: This tool is for educational and research purposes only. It is NOT a substitute for professional medical diagnosis or advice. Always consult qualified healthcare professionals for any medical concerns or decisions.

General questions

The model can classify 7 different types of skin conditions:
  • Actinic Keratoses
  • Basal Cell Carcinoma
  • Benign Keratoses
  • Dermatofibroma
  • Melanoma
  • Melanocytic Nevus
  • Vascular Lesion
Each prediction includes a confidence percentage to indicate the model’s certainty about the classification.
The model is trained using a VGG-16 Convolutional Neural Network architecture on thousands of pre-identified images. While it can provide classifications with confidence percentages, accuracy varies depending on:
  • Image quality and clarity
  • Lighting conditions
  • Angle and distance of the photograph
  • Similarity to training data
Remember that this is an educational tool and should never be used as the sole basis for medical decisions.
No, absolutely not. This application is strictly for educational and research purposes. It cannot and should not be used for:
  • Self-diagnosis
  • Medical treatment decisions
  • Replacing professional medical consultation
  • Clinical healthcare settings
If you have concerns about a skin condition, consult a dermatologist or qualified healthcare provider immediately.

Technical questions

The application runs entirely in the browser using TensorFlow.js. It works best with modern browsers that support:
  • WebGL for GPU acceleration
  • ES6+ JavaScript features
  • FileReader API for image uploads
Recommended browsers:
  • Chrome 80+
  • Firefox 75+
  • Safari 13+
  • Edge 80+
Older browsers may experience performance issues or compatibility problems with TensorFlow.js.
The model is loaded from model.json and associated weight files. Loading time depends on:
  • Your internet connection speed (if loading from a remote server)
  • Browser caching
  • Device performance
Typical loading times range from 2-10 seconds. The application displays “Loading Model” during this process and shows “Loaded ML Model” when ready.
The application accepts any image format that can be read by the browser’s FileReader API, including:
  • JPEG/JPG
  • PNG
  • WebP
  • BMP
  • GIF (first frame only)
Images are automatically resized to 75x100 pixels for model input, regardless of the original size.
No. The classification happens entirely in your browser using TensorFlow.js. Your images are:
  • Processed locally on your device
  • Never uploaded to external servers
  • Not stored or transmitted anywhere
This ensures complete privacy for any images you analyze.
The model uses a VGG-16 inspired Convolutional Neural Network (CNN) architecture:
  • Input layer: 75x100x3 (height, width, RGB channels)
  • Multiple convolutional layers with 64 filters
  • ReLU activation functions
  • 3x3 kernel sizes with same padding
  • Trained using Keras 2.8.0 in Python
  • Converted to TensorFlow.js format (v3.19.0)
The model processes images through multiple convolution layers to extract features and classify the skin condition.
The model should return consistent results for the same image. If you experience variations:
  • Ensure the model has fully loaded before making predictions
  • Check that the image is being processed correctly
  • Verify you’re using the same image file
The model uses deterministic inference, so identical inputs should produce identical outputs.

Usage questions

Using the application is straightforward:
  1. Wait for the model to load (“Loaded ML Model” message appears)
  2. Click the file input to select an image from your device
  3. The image will be displayed in the preview area
  4. Click the predict/classify button
  5. View the classification result and confidence percentage
If you try to classify without selecting an image, you’ll see an alert: “Select an Image to Classify”.
The application has built-in error handling for common issues:“Select an Image to Classify”
  • You haven’t selected an image yet
  • Choose an image file before attempting classification
“Error Reading Image”
  • The selected file may be corrupted or in an unsupported format
  • Try selecting a different image
“Error Classifying Image”
  • The model may not have loaded properly
  • Refresh the page and wait for the model to load completely
  • Check your browser console for detailed error messages
For persistent issues, report them on GitHub.
Partially. Once the model files are loaded and cached by your browser:
  • The application can run offline
  • No internet connection is needed for classification
  • You can process images locally
However, the initial load requires downloading the model files from the server.

Build docs developers (and LLMs) love