# Planti-Fier

> Source: <https://dev.to/aman_basor_878889423519dd/planti-fier-3fc9>
> Published: 2026-10-11 16:49:37+00:00

*This is a submission for the [Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass](https://dev.to/challenges/hacktoberfest-week1-2026-10-05)*

## 
  
  
  What I Built

**PLANTI-FIER** is a web app that identifies plants from a photo. You upload a picture and it returns the plant's scientific name, common names, a confidence score, the regions where it grows naturally, and search links to find it online.

It gets people off the screen by turning a walk into a curiosity game. Instead of walking past an unknown plant, you stop, photograph it and learn its name. You can then look at it, smell it and find out where else in the world it grows. The app is built so the AI step takes seconds and the real world does the rest.

It is for hikers, gardeners, students, curious kids and anyone who has ever wondered "what is that plant?" It includes a disclaimer: *"It is AI used to identify and not sell any product."*

## 
  
  
  Demo

🔗 **Live app:** [https://amanbasor.github.io/planti-fier/](https://amanbasor.github.io/planti-fier/)

Open the link, paste your own API key into the **API_KEY** field, upload a plant photo and click **Identify plant**.

## 
  
  
  Code

🔗 **GitHub:** [https://github.com/amanbasor/planti-fier](https://github.com/amanbasor/planti-fier)

It is a single `index.html` file with plain HTML, CSS and JavaScript, so there is no build step and no framework. There are no private files or secrets in the repo.

## 
  
  
  How I Built It

- 
**Open-weight AI:** the app calls Google's**Gemma** models through the Gemini API. It asks the API which models your key can use, picks Gemma models first, and falls back to Gemini models only if Gemma isn't available on that key. The page shows which model produced each answer.
- 
**Flow:** the photo is read in the browser and converted to base64. The image and a prompt that asks for strict JSON go to the model. The reply is parsed and shown as result cards.
- 
**Bring your own key:** the user pastes their own key into the**API_KEY** field. It stays in the browser and is not stored in the code or the repo.
- 
**UI:** the styling is inspired by Pl@ntNet Identify, with a green palette, a hero banner and rounded cards.
- 
**Hosting:** GitHub Pages.
- 
**Shopping links:** these are search URLs built from the scientific name, so the app does not sell anything or pick a seller.

I built it with AI assistance, in a loop of describing the app, testing it and fixing errors. One real bug was a hard-coded model name that stopped working, which is why the app now discovers available models on its own.

## 
  
  
  Why Does Open Innovation Matter?

- 
**No lock-in:** model names change and models get retired. My app broke once because a fixed model became unavailable. Because it works with several models, it adapts instead of dying.
- 
**Accessibility:** a student can build and host a working AI app for free, with their own key and no backend.
- 
**Trust and inspection:** plant identification can affect real decisions, such as foraging. Open-weight models and open code let people inspect, question and improve how the tool behaves.
- 
**Room to grow:** the same design could run a small open model locally, so identification would work on a trail with no signal. A closed API makes that path much harder.

AI plant identification can be wrong, so please never eat or use a plant based only on an AI result.

## 
  
  
  Prize Categories

- Touch Grass (Week 1 theme)

# 
  
  
  INNOVATE

# 
  
  
  devchallenge

# 
  
  
  hf26challenge.
