네이처렌즈 — AI 생물 종 식별·유해성 판정 앱·웹 통합 시스템 (1인 개발)
사진으로 식물·곤충·동물의 종을 AI가 식별하고 유해성을 알려주는 서비스 — 기획부터 웹·관리자·iOS 앱 출시까지 1인 개발
주변에서 마주친 식물·곤충·동물을 사진으로 찍어 올리면, AI가 종을 식별하고 그 종이 위험한 종인지 알려주는 서비스입니다.
기획부터 백엔드, 웹, 관리자, iOS 앱, 인프라, 데이터 적재, 앱스토어 심사·출시까지 1인으로 진행했습니다. 2026년 7월에 시작해 두 달 만에 웹과 관리자를 운영에 올리고 iOS 앱을 App Store에 출시했으며, 현재도 기능을 추가하고 있습니다.
구성
- 웹: Next.js + Apollo Client — 갤러리, 분포 지도, 커뮤니티, 동정 요청, 탐사 기록, 한/영 전환
- 앱: Flutter — 사진 촬영·등록, 백그라운드 GPS 탐사 기록, 오프라인 저장 후 동기화 (iOS는 App Store 출시, 안드로이드는 사이트에서 직접 배포)
- 관리자: 관측 검수, 동정 요청 처리, AI 비용 조회, 신고·제재
- API: NestJS + GraphQL — 인증, 분석 큐, 스토리지, 실시간 채팅
- PostgreSQL + Prisma · Redis + BullMQ · S3 호환 스토리지 · Docker
AI 분석 — 책임 범위를 제한한 설계
사진이 올라오면 10단계로 나뉜 큐가 돕니다. 단계별로 어떤 모델이 얼마의 토큰을 썼는지 전부 기록되고, 관리자 화면에서 기간별 비용을 조회합니다. (운영 중 실제 분석 호출 5,193회)
핵심은 AI는 종만 식별하고, 유해성 판정은 공공데이터 기반 규칙이 담당하는 것입니다. AI가 틀려도 잘못된 학명 하나로 끝나고 안전 판정까지 오염되지 않습니다. 정보가 없는 종은 "안전"이 아니라 "확인되지 않음"으로 표시합니다.
데이터
국가 생물종 목록 91,664건, 법적 지정 48,146건(멸종위기·생태계교란 등), 행정구역 5,351건을 적재하고 정규화했습니다.
측정해서 결정한 것
- 식물 비전 API의 1순위 결과가 국내 생물 목록에 있는 비율이 62%로 측정돼, LLM이 사진을 직접 보고 종을 정하도록 전환
- 분석 성능을 측정해 분류군 판별을 18.2초 → 4.3초로 단축
현장에서 쓰이기 위한 설계
산속처럼 네트워크가 없는 곳에서도 탐사 기록이 시작되도록 앱에서 먼저 저장하고 나중에 동기화합니다. 보호종 좌표 보호를 위해 업로드된 사진의 EXIF(위치 정보)는 서버에서 제거합니다.
이 개발자의 다른 프로젝트
레거시 PHP 부동산 매물 사이트 인수 · 서버 이전 · 4년째 운영 (한맥부동산)
다른 업체가 만든 하위 버전 PHP 사이트를 코드 재작성 없이 5.3으로 올려 Docker로 이전하고, 이미지 업로드 장애를 해결해 4년째 직접 운영 중입니다.
관리 끊긴 사회복지법인 PHP 홈페이지 인수 · 서버 이전 · 2년째 운영 (선한사마리아원)
기존 업체가 관리를 중단한 하위 버전 PHP 사이트를 코드 재작성 없이 5.3으로 올려 Docker로 옮기고, 2015년 글·첨부파일까지 보존해 2년째 운영 중입니다.
한국콘홀협회 대회 운영 플랫폼 — 실제 대회 4건 운영 · 대진 자동 편성 · 전광판 (1인 개발)
참가 접수부터 대진 편성, 심판 점수 입력, 전광판, 결과·랭킹 확정까지 — 실제 대회 4건을 현장에서 운영한 협회 통합 플랫폼