A lightweight AI-powered web application that classifies Cats 🐱 and Dogs 🐶 using a custom machine learning model trained with Google Teachable Machine and powered by TensorFlow.js.
Paw Classifier is a browser-based AI application capable of identifying whether an uploaded image contains a Cat or a Dog.
The machine learning model was trained using Google Teachable Machine and exported as a TensorFlow.js model, allowing all predictions to run directly inside the user's browser without sending images to any server.
Originally developed for the Class 12 Artificial Intelligence Practical – Activity 3.2: Creating a Website Containing an ML Model, the project was expanded with a polished, responsive interface and modern user experience suitable for showcasing on GitHub.
🚀 Website: https://mkishoredev.github.io/paw-classifier/
Experience Paw Classifier directly in your browser without installing anything. Simply upload a cat or dog image, or use your webcam to get an instant AI-powered prediction.
- 🐱 AI-powered Cat & Dog classification
- 📤 Drag & Drop image upload
- 🖼️ Image preview
- 📸 Live webcam prediction
- 🔄 Camera switching support
- 📊 Animated confidence display
- 📜 Prediction history
- 🔔 Toast notifications
- ⚡ Instant browser-based predictions
- 📱 Responsive on desktop, tablet and mobile
- 🔒 Privacy-friendly (images never leave your device)
- HTML5
- CSS3
- Vanilla JavaScript (ES6)
- TensorFlow.js
- Google Teachable Machine
- Lucide Icons
paw-classifier/
│
├── assets/
│ ├── banner.png
│ └── logo.png
│
├── index.html
├── style.css
├── script.js
├── dataset_downloader.py
├── LICENSE
└── README.md
The AI model was trained using Google Teachable Machine.
Training workflow:
- Collect Cat and Dog images.
- Upload images to Google Teachable Machine.
- Train the image classification model.
- Export the TensorFlow.js model.
- Integrate the exported model into the website.
- Deploy using GitHub Pages.
The training dataset consists of two image classes:
- 🐱 Cats
- 🐶 Dogs
Each class contains approximately 100 high-quality images.
Images were collected using the Pixabay API.
The included dataset_downloader.py script automates dataset creation by:
- Downloading images
- Removing duplicate images
- Filtering out low-resolution images
- Organizing images into folders
- Preparing the dataset for Google Teachable Machine
Clone the repository.
git clone https://github.com/mkishoredev/paw-classifier.gitNavigate into the project.
cd paw-classifierRun a local server.
Using Python:
python -m http.serverOr simply use Live Server inside Visual Studio Code.
- The TensorFlow.js model loads when the website starts.
- Users upload an image or open their webcam.
- The AI analyzes the image.
- The highest-confidence prediction is displayed.
- Confidence scores are visualized with smooth animations.
Everything happens locally inside the browser.
Paw Classifier performs all inference locally.
- ✅ No backend
- ✅ No cloud processing
- ✅ No user accounts
- ✅ No image uploads
- ✅ Images remain on your device
This project was created as part of:
Class 12 Artificial Intelligence Practical
Activity 3.2 — Creating a Website Containing an ML Model
Learning objectives demonstrated:
- Image dataset collection
- Machine learning model training
- TensorFlow.js deployment
- Browser-based AI inference
- Interactive web development
- Responsive UI design
Special thanks to:
- Google Teachable Machine
- TensorFlow.js
- Pixabay
- Lucide Icons
for providing the tools and resources that made this project possible.
This project is licensed under the MIT License.
See the LICENSE file for details.
⭐ If you enjoyed this project, consider starring the repository.
Made with ❤️ by M Kishore
