Building an AI-Powered Dog Breed Recommender with Flask, Nyckel, and Google Gemini
Overview
This application takes a photo or image URL of a dog and passes it to an external API to determine the breed. Once the breed is identified, a custom prompt is sent to Google Gemini and the results are returned to the user as a tailored list of care recommendations for that specific breed.
Tech stack: Python, Flask, Nyckel API, Google Gemini 1.5 Flash, Docker
Screenshots
Architecture
The application follows a simple two-step pipeline:
User Input (image/URL + optional fields) ↓ Nyckel Dog Breed Classifier API ↓ Google Gemini 1.5 Flash (LLM) ↓ Results Page (breed + care recommendations)
Enter fullscreen mode
Exit fullscreen mode
The Flask app exposes two routes:
/ — renders the input form and handles POST submissions ( Query view)
/results — renders the breed and recommendations ( Results view)
Project Structure
├── app.py # Flask entry point, URL routing ├── query.py # Query view: image processing, API…