AI Plant Identification
Photo-to-species via PlantNet & ChatGPT
Multi-organ mobile capture tags leaves, flowers, bark, or fruit and returns ranked Latin binomials with match confidence scores.
From full-stack architecture to published research — an end-to-end EdTech product built with Flutter, Django, React, and OpenAI APIs.
Outdoor Botanical Intelligence
Species Vision · Virtual Herbarium · AI Tutor
01 · Overview — The Problem & The Solution
In biology education, “plant blindness” — the cognitive tendency to overlook plant species in favor of animal life — leaves even prospective science teachers struggling to identify local flora or teach biodiversity effectively. Traditional physical herbarium assignments rely on static paper guides and delayed manual grading.
I architected and shipped AImPLANT from scratch to bridge field botany, production software engineering, and empirical educational research. Built with a bilingual Turkish & English Flutter client, a Python/Django + PostgreSQL reporting backend, and a React educator portal, the platform equips 15+ teachers across pilot schools and university cohorts with real-time species recognition, geotagged virtual herbariums, and AI-evaluated assessments.
“Development of an Artificial Intelligence-Based Mobile Application Platform: Evaluation of Prospective Science Teachers' Project on Creating Virtual Plant Collections in terms of Plant Blindness and Knowledge”
Ceylan, B. & Altıparmak Karakuş, M. · Vol. 8, No. 4, pp. 668–688
Photo-to-species via PlantNet & ChatGPT
Multi-organ mobile capture tags leaves, flowers, bark, or fruit and returns ranked Latin binomials with match confidence scores.
Create and curate digital plant collections
Structured 14-point botanical records store Flora of Turkey grid squares, vascular traits, cotyledon class, and ecotone field notes.
Conversational botany assistant
Context-aware ChatGPT assistant answers real-time taxonomic, morphological, and ecological queries directly in Turkish or English.
AI-evaluated tests with personalized feedback
Educators publish curriculum quizzes from the web portal; students complete them in-app and receive immediate diagnostic AI reviews.
Map visualizations of collected species
Automatic GPS telemetry pins every specimen on an interactive spatial map to analyze campus biodiversity clusters and micro-habitats.
Educator controls and analytics
Django, PostgreSQL, and React web portal for managing student cohorts, authoring assessments, and tracking pre/post-test growth.
02 · Mobile App Showcase — Cross-Platform Field Client
I built the cross-platform mobile client in Flutter and Dart (~3,200+ lines of application code) backed by Firebase Auth and Cloud Firestore. Step through the live interface below: switch between English and Turkish, capture an Olea europaea leaf specimen, inspect geotagged campus herbarium records, or submit an AI-graded botany quiz.
Interactive Flutter Client
Select any screen below or tap directly inside the device
03 · Admin Panel — Educator Control & Cohort Reporting
To scale AImPLANT beyond individual field devices into a multi-classroom teaching platform, I engineered a web-based administrative backend in Python/Django and PostgreSQL paired with a React + TypeScript dashboard. Educators manage student rosters, publish bilingual AI-evaluated assessments, and audit pre-test versus post-test learning gains across cohorts.
Django REST API
Role-based educator & cohort endpoints
PostgreSQL Store
Normalized quiz & spatial flora reporting
Multi-School Auth
Scoped permissions for 15+ pilot teachers
Real-time herbarium submissions, GPS species clusters, and assessment completions across active classes.
Across MSKU & partner pilot classrooms
Verified C2 Muğla & regional herbarium entries
Bilingual TR/EN diagnostic evaluations delivered
| Participant | Taxon & Square | Pre → Post |
|---|---|---|
PST-04 · Year 4 MSKU Science Ed | Olea europaea C2 Muğla · 37.1664° N, 28.3742° E | 17 → 24 / 35 |
PST-11 · Year 3 MSKU Science Ed | Echinops spinosissimus C2 Muğla · 37.1705° N, 28.3788° E | 15 → 22 / 35 |
PST-19 · Year 2 Pilot High School A | Aloe vera C2 Muğla · 37.1681° N, 28.3719° E | 16 → 21 / 35 |
PST-08 · Year 4 Pilot Middle School C | Spathiphyllum blandum C2 Muğla · 37.1641° N, 28.3708° E | 18 → 25 / 35 |
Olea europaea
37.1664° N, 28.3742° E
Click any campus pin to inspect student-verified coordinates and cotyledon classifications.
04 · Architecture & Tech — System Topology
I designed a decoupled, service-oriented architecture linking cross-platform mobile fieldwork with relational educator analytics and dual-engine AI inference. Select any system node below to inspect its runtime responsibility and data contract.
~3,200-line field client handling multi-organ camera capture, GPS coordinate tagging, virtual herbarium curation, AI chat, and student assessments.
Production Stack & Integrations
05 · Research & Impact — Empirical Proof
Beyond shipping software to classrooms, I evaluated AImPLANT in a five-week empirical field study published in the International Journal of Technology in Education and Science (IJTES, 2024). Every headline metric below is backed by peer-reviewed statistical testing.
Plant Awareness Post-Test
0.00%
Doubled from 28.33% pre-test spontaneous plant recall (68 → 136 citations, McNemar p < 0.001).
Achievement Significance
p < 0.0000
Paired-sample improvement from 16.71 to 21.54 (t = -6.63, KR-20 = 0.817).
Original Codebase
0+
Lines of mobile client code written from scratch, integrated with Django REST, PostgreSQL, and React admin tooling.
Classroom Adoption
0+
Teachers deploying AImPLANT across pilot schools and university outdoor science practicums.
Conducted during the Spring 2023–2024 semester at Muğla Sıtkı Koçman University (Department of Mathematics & Science Education), the study employed a single-group quasi-experimental pre-test/post-test model (n = 24 prospective science teachers across 2nd, 3rd, and 4th years). Prior to deployment, the 35-item Academic Achievement Test was validated on N = 74 participants, achieving strong internal consistency (KR-20 = 0.817, Cronbach's α = 0.814).
Shapiro-Wilk tests confirmed normal score distributions (Wpre = 0.93, Wpost = 0.92). Across five weeks of outdoor campus fieldwork, spontaneous plant recall doubled (28.33% → 56.66%), 28-slide visual organism recognition rose significantly (36.13% → 45.93%, p = 0.0063), and qualitative feedback (75.0% positive interface rating) directly informed post-pilot optimizations in outdoor upload compression and navigation ergonomics.
06 · Engineering Practices — Quality & Process
Shipping a reliable platform used outdoors by real teachers and students required disciplined delivery workflows, reproducible containers, and typed contracts from day one.
Branching, merge requests, review hygiene
I structured development around short-lived feature branches, protected mainline releases, and scoped merge request checklists spanning the Flutter client, Django REST services, and React admin portal.
Unit and integration coverage across web and mobile
I validated core flows with Flutter widget and serialization unit tests, Django REST Framework endpoint and permission assertions, and React testing suites covering assessment authoring and analytics transforms.
Architecture notes and API contracts
I authored OpenAPI/Swagger specifications for Django endpoints, Firestore document schemas for specimen collections, and bilingual localization dictionaries to keep mobile and web contracts synchronized.
Sprint cadence, refinements, retros
I delivered the platform on two-week sprint cycles aligned with academic field-trip milestones, running structured backlog refinements and post-pilot retrospectives driven by qualitative teacher feedback.
Reproducible local and CI environments
I containerized the Python/Django API, PostgreSQL relational store, and React admin frontend with multi-stage Dockerfiles and Compose profiles for deterministic onboarding and CI verification.
Modular components, typed interfaces, linting
I enforced Dart sound null-safety, strict TypeScript interfaces, and automated static analysis (dart analyze, ESLint, Flake8) across decoupled presentation, domain, and data-access layers.