🌿 식물 관리 도우미(Plant Care Companion): 화면에서 벗어나 정원으로 안내하는 AI 앱 🌱
요약
이 앱은 사용자가 화면에서 벗어나 자연으로 나아가도록 유도하는 AI 기반 웹 애플리케이션입니다. 사진 업로드만으로 식물 식별, 질병 진단, 그리고 초보자도 따라 할 수 있는 3단계 실천 계획을 제공합니다. Gemini Vision AI를 활용하여 접근성을 높이고 사용자 데이터 보호에 중점을 두었습니다.
핵심 포인트
- AI 기반 웹 앱으로 정원 및 야외 활동 장려
- 사진 업로드만으로 식물 식별 및 건강 진단 가능
- Gemini Vision AI를 사용하여 구현된 실용적 솔루션
- 사용자에게 실행 가능한 3단계 해결책 제시
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
제가 만든 것 (What I Built)
Plant Care Companion — 사람들을 화면에서 벗어나 정원으로 안내하는 무료 AI 기반 웹 앱입니다.
사용자들이 무의미하게 스크롤(doomscrolling) 하는 대신, 밖에 나가서 식물 사진(실내 화분, 정원 꽃, 산책 중 발견한 아무 잎사귀 등)을 찍으면 즉시 다음 정보를 얻게 됩니다:
- 식물 식별: 학명과 재미있는 사실 정보 제공
- 건강 진단: 질병, 해충, 과습, 영양 결핍 등을 감지
- 3단계 실천 계획: 초보자도 이해하기 쉬운 평이한 언어로 문제 해결 방법 제시
이 앱은 식물을 가꾸고 싶지만 식물학적 지식이 부족한 사람들을 위해 제작되었습니다. 바쁜 부모님, 힘들어하는 다육식물이 있는 아파트 거주자, 공원에서 탐험하는 호기심 많은 아이들, 갈색으로 변한 잎을 해결하려는 취미 원예가 모두에게 유용합니다.
이 앱은 실제 세계의 상호작용을 장려합니다. 사용자는 실제로 밖에 나가서 식물을 자세히 관찰하고 진단에 따라 행동해야 합니다. 화면은 목적지가 아니라 단지 다리 역할을 할 뿐입니다.
데모 (Demo)
🌐 실시간 앱: https://plant-care-ai-u9u8.vercel.app/
📸 작동 방식:
- 식물 사진 업로드 (드래그 앤 드롭 또는 클릭)
현대적이고 AI 기반의 웹 애플리케이션으로, 사람들이 화면에서 벗어나 자연과 연결되도록 돕습니다. 어떤 식물의 사진이든 업로드하면 즉각적인 전문가 식물 식별 및 건강 조언을 받을 수 있습니다.
🌍 문제 정의 (Problem Statement)
오늘날의 디지털 세상에서 사람들은 수많은 시간을 화면을 응시하며 보내는 동안, 실내 화분은 시들거나 정원은 여전히 미스터리로 남아있습니다. 많은 사람이 식물을 돌보고 싶어 하지만 식물학적 지식이 부족합니다. 상업용 식물 앱들은 비싸고 구독이 필요하며, 종종 사용자의 데이터를 공유합니다.
Plant Care Companion은 다음을 통해 이 문제를 해결합니다:
- 무료로 즉각적인 식물 식별 제공
- 실행 가능한 개선책과 함께 식물 건강 문제 진단
- 사람들이 외출하여 자연을 관찰하고, 자신의 식물과 교감하도록 장려
- 사용자의 데이터는 개인 정보 보호 및 보안 유지
✨ 기능 (Features)
🌱 식물 식별 (Plant Identification)
사진을 업로드하면 해당 식물의 일반명, 학명, 흥미로운 사실 등을 즉시 학습할 수 있습니다.
🩺
…
주요 파일:
app/page.tsx— 이미지 업로드 및 액션 버튼이 있는 메인 UIapp/api/analyze/route.ts— Gemini Vision AI를 호출하는 서버리스 APIapp/components/ImageUploader.tsx— 드래그 앤 드롭 컴포넌트.env.local— 안전한 API 키 저장소 (gitignored)
구축 과정 (How I Built It)
핵심을 이루는 오픈 소스 AI
저는 @google/genai SDK를 통해 Google Gemini 3.8 Flash (비전 기능 탑재, 오픈 웨이트 모델)를 사용했습니다. 이 모델은 이미지를 분석하고 자연어로 응답할 수 있어 — 식물 식별 및 사진을 통한 문제 진단에 완벽합니다.
Gemini를 선택한 이유:
- 관대한 제한의 무료 티어 (개발 중 토큰당 비용 없음)
- 기본 탑재된 비전 기능 (사진을 직접 처리)
- 빠른 추론 속도 (
요청당 23초) - 오프라인으로 실행하고 싶다면 LLaVA와 같은 로컬 모델로 교체 가능
기술 스택 (Tech Stack)
- 프론트엔드: Next.js 15 + React 19 + TypeScript
- 스타일링: Tailwind CSS 4와 커스텀 어스 그린(earthy green) 테마 (흔한 AI 블루 아님!)
- 백엔드: Next.js API Routes (서버리스 함수)
- 배포: Vercel (무료 티어, 자동 확장)
아키텍처
이 앱은 간단한 클라이언트-서버 흐름을 사용합니다:
- 사용자가 이미지를 업로드 → 브라우저에서 base64로 변환
- 프론트엔드가 base64와 프롬프트를
/api/analyze로 전송 - 백엔드가 커스텀 프롬프트와 함께 Gemini Vision API 호출
- AI 응답이 포맷되어 사용자에게 반환
저는 두 가지의 뚜렷한 프롬프트를 작성했습니다:
- 식물학자 모드 (Botanist mode): "당신은 친절하고 전문적인 식물학자입니다..." (따뜻하고 교육적)
- 정원사 모드 (Gardener mode): "당신은 경험 많은 정원사입니다..." (실용적, 문제 해결 중심)
이것이 AI가 로봇처럼 들리지 않고 사람처럼 들리게 만듭니다.
Open Innovation이 중요한 이유?
개인 정보 보호 및 통제권
오픈 웨이트 모델(open-weight models)을 사용하면 사용자가 식물 사진을 제3자 서버로 전송할 필요 없이 로컬에서 실행할 수 있습니다 (Ollama + LLaVA를 이용해). 희귀 식물 수집가나 상업 재배 농가에게는 이미지 데이터의 사생활 보호가 중요합니다.
비용 및 접근성
GPT-4 Vision과 같은 폐쇄형 API(Closed APIs)는 토큰당 요금을 부과합니다. 무료 정원 가꾸기 도구에 있어서 이는 지속 불가능합니다. 오픈 모델(Gemini 무료 티어, 또는 자체 호스팅 Llama Vision)은 장기적으로 이를 가능하게 합니다.
투명성 및 커스터마이징
모델이 어떻게 작동하는지 정확히 볼 수 있고, 프롬프트를 미세 조정(fine-tune)할 수 있으며, Google의 API가 변경될 경우 모델을 교체할 수도 있습니다. 폐쇄형 API를 사용하면 갇히게 됩니다. 오픈 AI는 저에게 적응할 수 있게 해줍니다. 예를 들어, 제 지역에 특화된 식물 질병에 대해 전문 모델을 훈련시킬 수 있습니다.
오프라인 접근성
미래에는 이를 PWA(Progressive Web App)로 패키징하여 인터넷 연결이 없는 등산객이나 자연 탐험가들을 위해 로컬 모델과 함께 제공할 수 있습니다. 오픈 AI가 그것을 가능하게 합니다.
나의 에이전트 세션
이 전체 프로젝트는 AI 에이전트(Antigravity)를 사용한 "Vibe Coding"으로 구축되었습니다. 저는 손으로 코드를 단 한 줄도 작성하지 않았습니다. 그저 평범한 언어로 원하는 것을 설명했을 뿐이고, 에이전트가 다음과 같이 했습니다:
- 전체 Next.js 프로젝트 구조를 구축함
- 드래그 앤 드롭 파일 업로드가 가능한 TypeScript 컴포넌트를 작성함
- 오류 처리와 함께 Gemini Vision API를 통합함
- GitHub용 전문적인 README를 생성함
- Google이 모델 이름을 업데이트했을 때 발생한 API 버전 관리 문제를 수정함
(선택 사항: DevRelay로 세션을 저장했다면, agent_session 태그를 사용하여 여기에 임베드하세요)
수상 부문 (Prize Categories)
저는 다음 부문에 출품합니다:
- 최우수 프로젝트 (Best Overall Project) (핵심 과제)
- 오픈 소스 AI의 최적 활용 (Best Use of Open-Source AI) (오픈 웨이트 Gemini 모델 사용)
- 가장 영향력 있는 '풀잎 만지기' 프로젝트 (Most Impactful "Touch Grass" Project) (사람들을 야외와 정원으로 안내함)
Hacktoberfest 2026을 위해 ❤️와 오픈 소스 AI로 제작되었습니다.
야외로 나가세요. 풀잎을 만지세요. 식물을 돌보세요. 🌱
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기