Ever seen a marine creature and wondered what it is? Seek Marine will let you know!
Seek Marine is a full-stack AI-powered marine species identifier that lets you take or upload a photo and instantly receive a prediction. Inspired by iNaturalist’s Seek app, this project is designed for educational and environmental awareness, and currently supports 23 animal species. Eventually, I want to turn this into a tool for deep-sea creature identification!
Built with FastAPI (backend) and React + Vite + TypeScript + Tailwind CSS (frontend).
- Upload or take a photo on your device
- Predict 23 marine species using a trained TensorFlow model
- Instant inference via FastAPI backend
- Responsive and intuitive UI with React + Tailwind CSS
- Frontend-backend integration via REST
seek-marine/
├── backend/
│ ├── main.py
│ ├── model_inception.h5
│ ├── requirements.txt
│ ├── utils.py
├── frontend/
│ ├── src/
│ ├── index.html
│ ├── package.json
│ ├── vite.config.ts
│ ├── .env.example
├── .gitignore
├── README.md- Clone repository
git clone https://github.com/beepboopdylan/seek-marine.git
cd seek-marine- Run the backend (FastAPI)
cd backend
python3 -m venv .venv
source .venv/bin/activate # On Windows: .\.venv\Scripts\activate
pip install -r requirements.txt
uvicorn main:app --reload --port 8000- Run the frontend (React + Vite)
cd ../frontend
cp .env.example .env
npm install
npm run devThen open in your browser: http://localhost:5173
- Environment Variables Create a .env file inside the frontend/ folder:
VITE_API_BASE=http://127.0.0.1:8000Change it to your deployed backend URL if hosting.
- Path: backend/model_inception.h5
- Framework: TensorFlow
- Input: Image (auto-preprocessed to 224×224)
- Output: Outputs one of 23 marine species


