Overview
garden.gg’s plant identification feature uses AI to identify plants and seed packets from photos. Point your camera at an unknown plant in your garden, a weed you need to identify, or a seed packet you want to add to your inventory, and garden.gg will tell you what it is and auto-fill the relevant forms with growing data.
The identification system is powered by Google Gemini and is available on all three platforms: web, iOS, and Android.
How It Works
The identification process is straightforward:
- Take a photo: Use your device’s camera or select an existing photo
- AI analysis: The image is sent to Google Gemini for analysis
- Results returned: You receive an identification with confidence level and details
- Auto-fill: Results pre-populate the add plant or add seed form
- Confirm and save: Review the auto-filled data, make corrections, and save
The entire process typically takes 2-3 seconds from photo to results.
Behind the Scenes
When you submit a photo for identification, garden.gg:
- Uploads the image to the server
- Sends it to Google Gemini with a structured prompt
- Gemini analyzes the image and returns structured data
- The app parses the response and maps it to garden.gg’s plant database
- If a match is found in the database, the full plant record is linked
- If no database match exists, a custom plant entry is suggested
The AI does not store your images for training. Photos are processed and the results are returned; the image is then stored only in your garden.gg account.
What You Can Identify
Live Plants
Point your camera at a living plant to identify it. The AI can recognize plants from:
- Whole plant: The entire plant in frame, showing its growth habit
- Leaves: Individual leaves or leaf arrangements
- Flowers: Blooms and flower structures
- Fruit: Ripe or developing fruit on the plant
- Seedlings: Young plants with true leaves (cotyledons alone may be too generic)
Best results come from clear photos of the plant’s most distinctive features. For vegetables, mature plants with fruit or flowers are easiest to identify. For herbs, leaf close-ups work well.
Seed Packets
The identification system automatically detects when you photograph a seed packet rather than a live plant. Seed packet identification is a distinct workflow that extracts significantly more data.
When a seed packet is detected, the AI reads:
- Plant name and variety: From the packet label
- Company/brand: The seed producer
- Growing data: Planting depth, spacing, days to germination, days to maturity
- Sun requirements: Full sun, partial shade, etc.
- Sowing instructions: Direct sow vs. start indoors, timing relative to frost dates
This data is extracted from the text and images printed on the packet. The AI reads both the front label and any growing information tables or paragraphs.
Weeds
Identifying weeds in your garden helps you decide the right management strategy. The AI can identify common garden weeds from leaf and flower photos. Weed identifications include:
- Common and scientific name
- Annual vs. perennial
- Invasiveness rating
- Suggested management approach
Weed identifications do not auto-fill a plant form (since you typically do not want to track weeds as plants), but you can add a weed identification as a note event on the relevant plot.
Flowers and Ornamentals
While garden.gg focuses on edible gardening, the identification system recognizes ornamental plants as well. This is useful for:
- Identifying companion flowers (marigolds, nasturtiums, borage)
- Recognizing volunteer plants in your garden
- General curiosity about plants you encounter
Seed Packet Detection
garden.gg’s identification system automatically distinguishes between seed packets and live plants. This is important because the two scenarios produce different outputs.
How Detection Works
The AI analyzes the image for visual cues that indicate a seed packet:
- Rectangular packaging with printed graphics
- Text labels with variety names and growing instructions
- Barcode or UPC codes
- Brand logos and marketing imagery
- Data tables with planting information
If these cues are detected, the system switches to seed packet extraction mode, which prioritizes reading text and data from the packet rather than identifying a plant species.
Seed Packet Extraction Fields
When a seed packet is detected, the AI attempts to extract all of the following:
| Field | Source | Example |
|---|---|---|
| Plant name | Packet label | ”Tomato” |
| Variety | Packet label | ”Cherokee Purple” |
| Company | Brand logo/text | ”Baker Creek Heirloom Seeds” |
| Planting depth | Growing info | ”1/4 inch deep” |
| Plant spacing | Growing info | ”24-36 inches apart” |
| Row spacing | Growing info | ”36 inches between rows” |
| Days to germination | Growing info | ”7-14 days” |
| Days to maturity | Growing info | ”80 days from transplant” |
| Sun requirement | Growing info | ”Full Sun” |
| Sowing method | Instructions | ”Start indoors 6-8 weeks before last frost” |
Not every field will be successfully extracted from every packet. The AI fills in what it can read clearly and leaves other fields empty for you to complete manually.
Accuracy of Packet Scanning
Packet scanning accuracy depends on several factors:
- Print quality: Clear, high-contrast text is easier to read
- Photo quality: Sharp, well-lit photos produce better results
- Packet condition: Crumpled, wet, or faded packets may have reduced accuracy
- Language: English packets are fully supported; other languages have partial support
- Data format: Standard growing info tables are parsed more reliably than paragraph text
In testing, packet scanning correctly identifies the plant name and variety over 95% of the time. Growing data extraction accuracy is approximately 85-90% when the data is clearly printed on the packet.
Auto-Fill Forms
The primary value of identification is time savings. Instead of manually entering plant or seed data, the AI pre-fills the form with extracted information.
Plant Form Auto-Fill
When you identify a live plant:
- The identification result is displayed with the plant name, variety (if determinable), and confidence level
- You tap Add to Garden or Add to Plot
- The add plant form opens with pre-filled fields:
- Plant name
- Variety (if identified)
- Growing data from the garden.gg plant database (if a match exists)
- You select the destination plot, set the plant date, and place on the grid
- Save
Seed Form Auto-Fill
When you scan a seed packet:
- The extraction results are displayed, showing all detected fields
- You tap Add to Seed Inventory
- The add seed form opens with pre-filled fields:
- Plant name and variety
- Company/brand
- Growing data (depth, spacing, germination, maturity)
- You add quantity, purchase date, and any missing information
- Save
Reviewing Auto-Fill Data
Always review auto-filled data before saving. The AI is accurate but not perfect. Common issues to watch for:
- Variety confusion: Similar-looking varieties may be misidentified (e.g., different cherry tomato cultivars)
- Unit misreads: Spacing in inches vs. centimeters can be misread from packet text
- Range interpretation: “7-14 days” for germination may be recorded as 7 or 14 rather than the range
- Incomplete extraction: Some fields may be blank if the packet does not include that information
Correcting auto-fill data takes seconds and is still much faster than entering everything manually.
Company and Brand Extraction
For seed packets, the AI identifies the seed company or brand name. This information is valuable for:
- Organizing your inventory by supplier: Filter seeds by company when planning orders
- Comparing germination rates by brand: Over time, see which seed companies deliver the best germination rates
- Reorder convenience: Know exactly which brand to repurchase when a variety performs well
The AI recognizes major seed companies including Baker Creek, Burpee, Johnny’s Selected Seeds, Territorial Seed Company, Seed Savers Exchange, High Mowing, Park Seed, Botanical Interests, and many others. Smaller or regional brands are recognized when the name is clearly printed on the packet.
Daily Limits
Plant identification uses AI processing resources, so usage limits apply based on your plan:
| Plan | Daily Limit | Reset |
|---|---|---|
| Sprout (Free) | 5 identifications per day | Midnight in your local time zone |
| Bloom ($4/mo) | 50 identifications per day | Midnight in your local time zone |
| Harvest ($8/mo) | Unlimited | — |
Checking Your Usage
Your remaining identifications for the day are displayed on the identification screen before you take a photo. If you have reached your limit, the camera button is disabled until the next day.
Tips for Managing Limits
On the Sprout plan with 5 daily identifications:
- Prioritize seed packets: Packet scanning saves the most data entry time
- Batch your scanning sessions: Scan all packets at once rather than spreading across days
- Identify confidently unknown plants: Do not waste identifications on plants you can identify yourself
- Upgrade if needed: If you are regularly hitting the limit, the Bloom plan at $4/month provides 50/day
Getting the Best Results
Photo quality significantly impacts identification accuracy. Follow these guidelines for the best results.
Lighting
- Natural daylight produces the best results. Avoid harsh shadows.
- Overcast days provide even lighting that is ideal for plant photography.
- Avoid flash when possible — it creates harsh highlights and deep shadows that obscure plant details.
- Indoor photos: Use the brightest available light. Near a window is better than under artificial light.
Framing
- Single plant: Frame one plant in the photo, not a group. The AI performs best when analyzing a single specimen.
- Fill the frame: Get close enough that the plant fills most of the photo. Tiny plants in a wide-angle shot are harder to identify.
- Show distinctive features: If the plant has flowers, fruit, or unique leaf shapes, include them in the frame.
- Multiple angles: If one photo does not produce a confident result, try a different angle — leaf underside, flower close-up, or whole-plant view.
For Seed Packets
- Lay the packet flat on a contrasting background
- Photograph the front of the packet with the name and image visible
- Include growing info: If the growing data is on the back, take a second photo of the back
- Avoid glare: Glossy packets can reflect light — tilt slightly to eliminate glare
- One packet per photo: Scan one packet at a time for accurate extraction
Common Issues
| Issue | Cause | Solution |
|---|---|---|
| ”Unable to identify” | Photo too dark, blurry, or plant too small in frame | Retake with better lighting, get closer |
| Wrong variety identified | Similar-looking varieties are hard to distinguish from photos alone | Manually correct the variety; note that general species ID is usually correct |
| Incomplete packet data | Text not visible, small print, or non-standard format | Manually fill in missing fields from the packet |
| Misidentified as seed packet (or vice versa) | Unusual image that confuses the detection | Retake with clearer framing; specify manually if needed |
Platform Availability
Plant identification is available on all three platforms with a consistent experience:
Web
- Upload photos from your file system
- Drag and drop images into the identification area
- Use your computer’s webcam for live capture
- Results display inline with the add plant/seed form
iOS
- Camera access directly from the identification screen
- Photo library selection supported
- Live camera preview with framing guides
- Haptic feedback when identification completes
- Widget support for quick access from the home screen
Android
- Camera access with CameraX integration
- Photo gallery selection supported
- Live camera preview with framing overlay
- Results integrate with Material Design form components
- Quick Settings tile for rapid access
API
For developers, plant identification is available through the API:
POST /api/v1/identify
Content-Type: multipart/form-data
{
"image": <binary image data>,
"type": "auto" // "auto", "plant", or "seed_packet"
}
Response for a live plant:
{
"type": "plant",
"identification": {
"common_name": "Tomato",
"scientific_name": "Solanum lycopersicum",
"variety": "Cherokee Purple",
"confidence": 0.92,
"plant_type_id": "pt_tomato_cherokee"
},
"growing_data": {
"days_to_maturity": 80,
"spacing_inches": 24,
"sun_requirement": "full_sun"
}
}
Response for a seed packet:
{
"type": "seed_packet",
"identification": {
"common_name": "Tomato",
"variety": "Cherokee Purple",
"company": "Baker Creek Heirloom Seeds",
"confidence": 0.96,
"plant_type_id": "pt_tomato_cherokee"
},
"growing_data": {
"days_to_germination": 7,
"days_to_maturity": 80,
"planting_depth_inches": 0.25,
"spacing_inches": 24,
"row_spacing_inches": 36,
"sun_requirement": "full_sun",
"sowing_method": "start_indoors",
"sowing_timing": "6-8 weeks before last frost"
}
}
The type parameter can be set to "auto" (default) for automatic detection, "plant" to force live plant identification, or "seed_packet" to force seed packet extraction.
Privacy and Data Handling
- Images are not used for AI training: Your photos are processed for identification only and are not used to train the AI model
- Storage: Photos are stored in your garden.gg account alongside the identification results
- Deletion: Deleting an identification result also deletes the associated image from garden.gg’s servers
- Processing: Images are sent to Google Gemini’s API for analysis. Google’s data handling policies apply during processing.
Use Cases and Workflows
New Season Seed Inventory
At the start of the season, scan all your seed packets in one session:
- Gather all seed packets
- Open the identification screen
- Scan each packet and save to your seed inventory
- Review the complete inventory with auto-filled growing data
- Use the inventory to plan your planting calendar
This workflow can populate an entire seed inventory in minutes instead of hours of manual data entry.
Garden Walk Identification
During your regular garden walk, identify any plants you are unsure about:
- Spot an unfamiliar plant or weed
- Open identification
- Take a photo
- Review the result — is it a volunteer vegetable, a weed, or something else?
- Add it to your garden as a plant or log it as a note event
Nursery Shopping
When buying transplants at a nursery, use identification to quickly add plants:
- Photograph the plant or its label
- Get the identification with growing data
- Add it to your plot directly from the nursery
- When you get home and plant it, update the plant date and grid position
Community Garden Exploration
Visiting a friend’s garden or community garden? Identify interesting plants you want to grow:
- Photograph plants you want to learn about
- Review identifications for growing requirements
- Save the identification results for reference
- Use the variety information to find seeds for your own garden
Next Steps
- Seed Inventory: Manage the seeds you identify with packet scanning
- Plots & Plants: Add identified plants to your plots
- Creating Your First Garden: Set up your garden to start adding plants