A React web app that lets you search high-quality images using the Unsplash API and run AI predictions on them with TensorFlow.js.
ImageiO combines real-time image discovery with browser-based machine learning inference — perfect for exploring visuals and applying AI analysis locally.
Note: This app is designed to run locally. No live hosted demo is available yet.
- Real-time image search powered by Unsplash API (fetch royalty-free photos instantly)
- Infinite scrolling grid for seamless browsing of search results
- Click any image → run TensorFlow.js prediction (image classification / analysis)
- Secure routing: TensorFlow prediction page accessible only after login
- Modern, responsive UI styled with Tailwind CSS (mobile, tablet, desktop support)
- Clean loading states, error handling, and user-friendly feedback
- Environment variables for API keys (
.envfile) - Built with Create React App for easy setup and development
- Frontend Framework: React.js (18+)
- Language: JavaScript (ES6+)
- Styling: Tailwind CSS
- AI/ML Inference: TensorFlow.js (runs in the browser)
- API: Unsplash API (for image search)
- Build Tool: Create React App
- Deployment: Local only (npm start) — easy to deploy on Netlify/Vercel later
- License: Apache 2.0
-
Clone the repository
git clone https://github.com/Rajeet10/ImageiO.git cd ImageiO -
Install dependencies
npm install # or if you use yarn: # yarn install -
Set up your Unsplash API key
1. Go to https://unsplash.com/developers 2. create an app 3. get your Access Key 4. Create a .env file in the root directory:text 5. REACT_APP_UNSPLASH_ACCESS_KEY=your_unsplash_access_key_here -
Start the development server
npm start # or yarn start -
The app will open automatically at http://localhost:3000 (or visit it manually)
-
Search for images, browse results, log in (if required) to access the TensorFlow prediction feature
-
Build for production (optional)Bashnpm run buildThis creates an optimized build/ folder.
-
Search Results GridTensorFlow Prediction ViewMobile Responsive LayoutSearch ResultsPredictionMobile
Contributions are welcome! Ideas for improvement:
-
Add more TensorFlow.js models (e.g., MobileNet, Coco-SSD, custom-trained)
-
Implement dark mode toggle
-
Add image download / save to favorites
-
Improve login system (e.g., Firebase Auth or local storage)
-
Deploy a live demo (Netlify / Vercel)
-
Add more detailed prediction output (confidence scores, labels explanation)
Standard workflow: 1. Fork the repo 2. Create your feature branch (git checkout -b feature/amazing-feature) 3. Commit your changes (git commit -m 'Add amazing feature') 4. Push to the branch (git push origin feature/amazing-feature) 5. Open a Pull Request
This project is licensed under the Apache License 2.0. You are free to use, modify, and distribute it (even commercially), as long as the original copyright and disclaimer are included.
Feedback, questions, or collaboration opportunities are welcome.
⭐ If you find this repository useful, please consider giving it a star!