Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[I/O Extended 2025 인천] 1인 개발 서비스를 위한 Gemini CLI...

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Beomi Beomi
July 26, 2025

[I/O Extended 2025 인천] 1인 개발 서비스를 위한 Gemini CLI 사용기

This presentation shares the journey of developing and maintaining "Smart Spam Filter," an AI-powered spam blocking app service, using Gemini CLI. The speaker, Junbum Lee (Beomi), an AI/ML GDE and researcher at Lablup, discusses how he leveraged Gemini CLI to efficiently manage a service with over 100,000 users as a solo developer.

Key topics covered:
- Introduction to Smart Spam Filter - an iOS/Android app that reached #2 in the iOS utilities section
- Challenges of spam filtering: from simple keyword blocking to AI-powered solutions
- Cost optimization: Transitioning from expensive LLM APIs to custom-trained on-device models
- Using Gemini CLI for service maintenance and creating management tools
- Practical tips for using Gemini CLI effectively, including GEMINI.md documentation
- Comparison with other AI coding assistants like Cursor
- Live demo of building a vector similarity-based caching system and Telegram bot for labeling

---

이 발표는 AI 기반 스팸 차단 앱 서비스인 "스마트 스팸 필터"를 Gemini CLI를 활용해 개발하고 유지보수한 경험을 공유합니다. 발표자 이준범(Beomi, AI/ML GDE)은 1인 개발자로서 10만명 이상의 사용자를 보유한 서비스를 효율적으로 관리하는 방법을 소개합니다.

주요 내용:
- 스마트 스팸 필터 소개 - iOS 유틸리티 섹션 2위까지 올라간 iOS앱
- 스팸 필터링의 어려움: 단순 키워드 차단에서 AI 기반 솔루션으로의 전환
- 비용 최적화: 비싼 LLM API에서 커스텀 학습된 온디바이스 모델로 전환
- Gemini CLI를 활용한 서비스 유지관리 및 관리 도구 제작
- GEMINI.md 문서화를 포함한 Gemini CLI 사용 팁
- Cursor 등 다른 AI 코딩 어시스턴트와의 비교
- 벡터 유사도 기반 캐싱 시스템과 텔레그램 라벨링 봇 시연

Avatar for Beomi

Beomi

July 26, 2025

More Decks by Beomi

Other Decks in Technology

Transcript

  1. 1인 개발 서비스를 위한 Gemini CLI 사용기 이준범 Junbum Lee

    (aka Beomi) AI/ML GDE, Researcher @ Lablup #스마트스팸필터 #GeminiCLI #1인개발 #유지보수
  2. AI/ML GDE로 활동하고 있어요 KcBERT, KoAlpaca, Llama-Ko와 같은 한국어 오픈

    언어모델 연구를 합니다. 이번 세션에서 개발기를 다루는 "Smart Spam Filter" AI 기반 스팸차단 앱 서비스를 만들었어요. 안녕하세요, 이준범(Beomi)입니다👋
  3. Google I/O Extended 25 Proprietary & Confidential - iOS 유틸리티

    섹션 #2등까지 올라갔던 앱! - 전체 평점 4.6 고평점! - 온디바이스 AI, LLM, Embedding을 모두 활용한 서비스! - 1인 기획 & 개발! - iOS 다운로드 → 스마트 스팸 필터? 앱스토어 #2 ✌
  4. Google I/O Extended 25 Proprietary & Confidential "하나는 사람이 할

    수 있고, 10개도 사람이 할 수 있지. 하지만 1000개, 1만개는 할 수 없어. 그건 기계가 해야하는 영역이야."
  5. Google I/O Extended 25 Proprietary & Confidential 작은 LM =

    저성능 System prompt 합쳐서 대략 103 tokens → $0.005 / 1K tokens → $0.0005 / 1 SMS → 0.7원 / 1문자 한사람: 10문자/day = 7원 나혼자(1) = 1달에 210원 가족+친구들(10) = 1달에 2,100원 일반사용자(1만) = 1달에 210만원 if 10만명 유저 → 1달에 2050만원(!!)
  6. Google I/O Extended 25 Proprietary & Confidential 모델 학습 =

    데이터 iCloud 백업된 수많은 메시지 2015~ 부터 저장된 정상 메시지와 스팸
  7. Google I/O Extended 25 Proprietary & Confidential 데이터 라벨링 (Multi)

    Very High Risk / High Risk / Medium Risk / Low Risk / No Risk(Zero Risk) 4 / 3 / 2 / 1 / 0 Multi-class Labeling
  8. Google I/O Extended 25 Proprietary & Confidential - 스마트스팸필터 소개

    (완료) - 1인 개발 서비스, 1년간 서비스하며 느낀 어려운 점들 - Gemini CLI 소개 - Gemini CLI로 만든 서비스 유지관리 기능들 - Gemini CLI 관련 사용 팁 + One more thing :) 오늘 할 이야기
  9. Google I/O Extended 25 Proprietary & Confidential 스마트 스팸 필터

    출시한지 벌써 1년+ (+10만명의 사용자)
  10. Google I/O Extended 25 Proprietary & Confidential - 화이트리스트 신규

    추가 - 자동화된 AI 학습 - 모델 라벨링 자동화 - Embedding 모델 개선 - 그 외 수많은 엣지케이스 대응… 서비스 개선을 위한 노력들
  11. Google I/O Extended 25 Proprietary & Confidential - 화이트리스트 신규

    추가 → 손 작업 if else .. - 자동화된 AI 학습 → ETL + 학습 Pipeline 구성 - 모델 라벨링 자동화 → LLM + 수동 라벨링 - Embedding 모델 개선 → 유사/비유사 문장, Custom Sentence Embedding Model - 그 외 수많은 엣지케이스 대응… 서비스 개선을 위한 노력들
  12. Google I/O Extended 25 Proprietary & Confidential - 화이트리스트 신규

    추가 → 손 작업 if else .. - 자동화된 AI 학습 → ETL + 학습 Pipeline 구성 - 모델 라벨링 자동화 → LLM + 수동 라벨링 (*** 핵심 필요 포인트!) - Embedding 모델 개선 → 유사/비유사 문장, Custom Sentence Embedding Model - 그 외 수많은 엣지케이스 대응… 서비스 개선을 위한 노력들
  13. Google I/O Extended 25 Proprietary & Confidential - False Negative:

    스팸인데 → 정상 문자로 분류한 경우 - False Positive: 정상인데 → 스팸 문자로 분류한 경우 → 모든 경우는 <잘못 판단된 케이스> → 사람에게 요청 받아서 엣지 케이스로 넣으면 좋음! → 하지만 학습 데이터 수집 & 학습하는 주기 설정이 어려움 (딥러닝은 데이터 하나 넣는다고 해당 문장을 100% 정확하게 분류하지 못함) False Negative & False Positive
  14. Google I/O Extended 25 Proprietary & Confidential → 그렇다면, DB에

    쌓이는 것 중 '유사한' 문장으로 '묶어서' 보고 → 해당 문장들의 임베딩의 mean vector를 representative vector로 삼아서 → 이 vector에 라벨을 스팸/정상 등으로 달아주고 → 곧바로 써먹으면 어떨까? False Negative & False Positive
  15. Google I/O Extended 25 Proprietary & Confidential 그렇다면, DB에 쌓이는

    것 중 '유사한' 문장으로 '묶어서' 보고 → 1) DB에 벡터도 쌓고 2) 유사한 문장을 그룹핑도 하고 해당 문장들의 임베딩의 mean vector를 representative vector로 삼아서 → 3) 그룹된 문장들을 보여줄 Frontend도 만들어야 하고 4) API 웹서버도 만들어야 하고 이 vector에 라벨을 스팸/정상 등으로 달아주고 → 곧바로 써먹으면 어떨까? → 5) 라벨링된 vector도 저장해야 하고 6) 이후에 현재 메인API와 연동도 해야하고 만들어야 하는게…
  16. Google I/O Extended 25 Proprietary & Confidential 단일 파일 수정은

    이게 더 직관적 → Agent Mode는 여러 파일도! 문제점: Turn 제한 & 전체 구조 변경 제한
  17. Google I/O Extended 25 Proprietary & Confidential 1. 프로젝트를 만든다

    2. Gemini CLI에 앱을 설명하고 GEMINI.md를 만들어달라고 한다. 3. 해당하는 앱을 만들어달라고 한다.
  18. Google I/O Extended 25 Proprietary & Confidential Gemini CLI로 만든

    서비스 관리 툴, 대표 예시: 유사-캐시
  19. Google I/O Extended 25 Proprietary & Confidential SSF API 퍼지

    캐시 - 100% Exact Match 캐시는 낮음 - vector DB(PG Vector)를 통한 유사도 비교 (L2 distance) (임베딩이 LM 모델보다 훨씬 빠름!)
  20. Google I/O Extended 25 Proprietary & Confidential SSF 라벨 봇

    - Groupby(Vector Similarity) - Cron job + Env setup - Telegram Handler + DB
  21. Google I/O Extended 25 Proprietary & Confidential GEMINI.md는 필수! -

    "Build & Fix Bugs"를 꼭 넣어두기 - 기능들을 하나하나 추가하면서 Markdown 체크박스로 관리하기 - 모든 구현을 한 세션 X, 단위 모듈별 세션 관리 O
  22. Google I/O Extended 25 Proprietary & Confidential Free → 유료로

    넘어간다면(광고아님) https://developers.google.com/program/plans-and-pricing?hl=ko
  23. Google I/O Extended 25 Proprietary & Confidential Free → 유료로

    넘어간다면(광고아님) https://developers.google.com/program/plans-and-pricing?hl=ko
  24. Right-click and select ‘Replace image’ - Android 12(API 31) 이상

    지원 - 시스템 기본 문자 앱 설정시 사용가능 - 스팸함 vs 일반 보관함 - On-device AI로 안전한 사용 - iOS 온디바이스 모델과 동일한 모델 - 개인정보가 서버로 전혀 가지 않아요! 스마트 스팸 필터 @