본문 바로가기

이 포트폴리오의 원본은 https://resume.iruyo.com (심재빈) 입니다 · 출처 식별자 jbx-7f3a2e9b

← 개인 프로젝트

Smart Home·IoT 완료 단독

IntentCP — Smart Home Intent Control Plane (Python/FastAPI)

집에 GPU·LLM 서버 없이도 '저녁 분위기 만들어줘' 같은 말 한마디를 iOS 단축어·Siri로 스마트홈 제어로 바꿔주는 중간 서버(control plane)를 설계·구현해 GitHub 공개

기간
2025.12 – 2026.01 · 2개월
본인 역할
말로 내린 명령을 안전하게 정해진 실행 요청(Control URL)으로 바꿔 기기 제어로 연결하는 중간 서버를 기획·설계·구현. 집에 고성능 LLM·GPU 서버를 두지 않고도 누구나 직접 띄울 수 있도록 Python·FastAPI·REST API 기반으로 구축·운영.
정량 임팩트
GitHub 공개 오픈소스(github.com/jaebinsim/IntentCP) — 유튜브 채널 영상 노출 이후 22 stars 확보(2026.05 기준). 본인 자취 환경 자동화 도구로 직접 운영하며 지속 개선.
버전·릴리즈
GitHub 공개(2025.12.08 시작). iPhone에 내장된 AI(Apple Intelligence)·iOS 단축어의 주소 호출(Control URL) 방식으로 동작.

링크

“집에 들어왔어”, “잘 거야” 같은 평범한 말 한마디를 iPhone의 Siri·단축어가 알아듣고 집 안 기기를 제어하게 만드는 중간 서버를 Python·FastAPI로 만들어 GitHub에 공개했습니다.

집에 별도의 LLM·GPU 서버를 두지 않고, 폰에 이미 있는 Apple Intelligence와 iOS 단축어만으로 자연어 명령이 실제 기기 동작으로 이어지게 하는 것이 핵심입니다.

배경·과제

  • 스마트홈 음성 제어를 제대로 하려면 보통 집에 AI 모델을 상시 돌리는 서버가 필요하고, GPU와 전기·관리 부담이 따라옵니다. 1인 자취 환경에서 이런 서버 없이 가볍게 굴릴 방법이 필요했습니다.

  • 자연어를 서버가 그대로 실행하면 의도와 다르게 움직일 위험이 있습니다. 말을 정해진 형식의 안전한 실행 요청으로 한 번 번역해, 통제된 범위 안에서만 실행하는 구조가 필요했습니다.

수행·기여

  • Control URL(표준 실행 요청) 설계. 자연어를 폰에서 약속된 한 줄 주소 형식(예: 거실등 켜기)으로 바꾸고, 서버는 그 형식에 정의된 동작만 실행합니다. 말과 실제 제어를 분리해 동작을 예측 가능하게 만들었습니다.

  • 말→실행→피드백 2단계 LLM 흐름 구현. 1단계에서 자연어를 Control URL로 바꾸고, 2단계에서 기기 응답(성공·실패·상태)을 사람이 읽기 좋은 한 줄로 요약합니다. AI 처리는 폰 쪽 단축어에 맡겨 서버를 가볍게 유지했습니다.

  • 경량 코어 서버 구축. Python·FastAPI 기반 REST API 서버로, 라즈베리파이나 미니 PC 같은 저전력 기기에서 24시간 돌아가도록 설계했습니다. iOS 단축어의 주소 호출을 받아 Tuya 클라우드 기기의 켜기·끄기·밝기·상태·시퀀스 제어로 연결합니다.

  • 설정 확인과 간단한 테스트를 위한 웹 패널을 내장하고, 초기 설정·운영용 CLI를 함께 제공합니다. 코어 서버와 단축어 배포, 프롬프트 구성은 저장소 하나(monorepo)로 관리합니다.

성과

  • GitHub 오픈소스(github.com/jaebinsim/IntentCP)로 공개했고, 유튜브 채널 영상 노출 이후 22 stars를 확보했습니다(2026.05 기준).

  • 지금도 제 자취 환경의 자동화 도구로 직접 쓰면서 다듬고 있습니다.