카페나 펍에 갈 때마다 드는 생각이 있었습니다. 어디를 가도 똑같이 생긴 태블릿 키오스크.
주문은 되는데, 뭔가 차갑달까요. "사장님, 저 또 왔어요!" 하고 괜히 먼저 말을 꺼내야 하는 그 어색함.
그걸 없애고 싶었습니다. 그래서 시작했습니다.
쥬크박스처럼 매장의 음악을 관리하기 위해서 스포티파이 API를 사용했고, 신청곡을 넣는 권한은 단골만 가능합니다.
"오늘은 단골이 DJ!"

단골박스(DangolBox)
설계 문서 같은 건 없었습니다 처음부터 기획서를 쓰거나 ERD를 그리거나 하지 않았습니다.
매장에서는 일을 하느라 코딩할 시간이 없고, 퇴근 후 집에서 3개월정도 파일럿 버전이 나올 때 까지 작업을 했어요.
가장 중요한게 음악이 끊김없이 나와야 하는 것과 얼굴 인식을 정확히 해서 단골을 알아보는 과정 입니다.
지금 실제 매장에 설치해서 운영중이고, 오류가 있으면 핸드폰으로 집에 있는 PC에 원격으로 연결해서 바이브 코딩으로 수정하고 있어요.
요즘 말하는 '바이브 코딩'이라는 게 결국 이런 거 아닐까요. 현장에서 느껴지는 감각을 바로 코드로 옮기는 것. Cursor로 반복적인 코드는 빠르게 뽑아내고, 저는 "손님이 들어왔을 때 어떤 기분이 들어야 하나"에만 집중했습니다.
실제 매장은 연구실이 아닙니다 가장 골치 아팠던 건 조명이었습니다. 역광, 창가, 움직이는 사람들. 얼굴 인식이 "됩니다"와 "잘 됩니다"는 완전히 다른 얘기거든요.

단골박스 앞에 단골로 등록된 얼굴을 자동으로 인식해서 메세지가 나옵니다.
해결책으로 5프레임 중 4프레임 이상 일치할 때만 인식된 것으로 처리하는 투표 방식을 썼습니다. 한 프레임만 보고 "어서오세요, 홍길동님!" 했다가 전혀 다른 분이면... 생각만 해도 민망하잖아요. 카메라는 라즈베리파이 5에 Camera Module 3 AF를 달았는데, 자동 초점이 뒤에 있는 손님한테 맞춰지는 문제가 있었습니다.
화면 중앙 50% 영역만 포커스 윈도우로 잡아버리니까 해결됐습니다.
작은 설정인데 체감 차이가 꽤 컸어요. 포토존 기능도 넣었습니다.

MediaPipe로 손동작을 인식해서, 보자기를 펼치면 타이머가 시작되고 주먹을 쥐면 촬영됩니다.
키오스크 앞까지 걸어가서 버튼 누를 필요 없이, 포즈 잡은 채로 그냥 찍을 수 있죠. 핵심은 결국 '단골' 이름 그대로, 이 프로젝트에서 제일 공들인 부분은 단골 관리입니다.

10번째 방문하는 순간, Firebase에서 카운트를 세다가 솔라피(Solapi) API를 통해 고객 폰으로 카카오 알림톡이 날아갑니다. "오늘 딱 10번째 방문이시네요! 서비스 안주 나갑니다~" 사장님이 따로 챙기지 않아도, 타이밍이 딱 맞게 떨어집니다. 관리자 화면은 React + Vite로 만든 대시보드인데, 매장 안에서 지금 누가 들어왔는지 실시간으로 보입니다.

음악 분위기에 따라 WS2812B LED 조명 색이 달라지게 설정해뒀더니, 그게 또 은근히 매장 분위기를 만들어주더라고요. 코드가 돌아가는 소리보다 설치하고 나서 가장 기억에 남는 장면은, 얼굴 인식되고 자기 이름이 화면에 뜨자 손님이 옆 친구한테 "야, 나온다!" 하면서 폰 꺼내들던 모습이었습니다.
기술이 잘 작동하는 건 당연히 기본이고, 그 기술이 사람들 사이에서 자연스럽게 녹아드는 순간이 진짜 완성인 것 같습니다. 단골박스가 그 매장의 마스코트로 오래 버텨줬으면 좋겠습니다.
사용 스택
Hardware: Raspberry Pi 5, Camera Module 3 AF, WS2812B LED
Vision: OpenCV, face_recognition, MediaPipe
Backend: Python
DB/Cloud: Firebase Realtime DB, Google Photos API, Spotify API
알림: Solapi (카카오 알림톡)
Frontend: React, Vite
'IT' 카테고리의 다른 글
| 라즈베리파이(Raspberry Pi) 5를 이용한 안면인식 쥬크박스 만들기 (0) | 2026.04.16 |
|---|---|
| 8bitdo 아케이드스틱 직구 개봉 및 한글 사용 설명서 (0) | 2026.02.14 |
| 윈도우11 자동 로그인 후 스팀링크 바로 실행하기 (0) | 2025.12.25 |
| 게임서 G7 Pro 자이로 설정(FPS/레이싱) 한글 설명서 (0) | 2025.11.18 |
| 8bitdo zero2 컨트롤러 밀리의 서재 단축키로 보기 (아이패드) (3) | 2025.08.24 |
