(HOME)(SIDE-PROJECT)
(KO/EN)

밀레니얼웍스 · 2025.08 ~ Present

AI 체험 키오스크를 Electron으로

Frontend Developer · 키오스크 클라이언트

팝업스토어와 전시에서 AI 포토, 타로, 성향 테스트, 포토카드, AI 음악 같은 체험 콘텐츠를 무인으로 돌리는 키오스크 클라이언트를 만듭니다. 게임사, 테마파크, 백화점 팝업부터 싱가포르 현지 행사까지 65~70개 행사를 큰 문제 없이 진행했습니다. 기존 C# WPF 기반 클라이언트를 Electron + Next.js로 마이그레이션했고, 이 리뉴얼 버전을 약 150대 키오스크에 배포해 1년간 카드 결제 약 3만 건, 쿠폰 사용 약 8천 건을 처리했습니다.

WebSiteUrl ->
팝업스토어 부스 벽면 대형 화면에 키오스크 체험 콘텐츠가 떠 있는 모습
아이돌 콘셉트 팝업에 설치된 체험 콘텐츠 (브랜드와 얼굴은 모자이크)

현장에서 돌아가는 키오스크

65~70개
키오스크로 운영한 국내외 오프라인 행사
약 150대
리뉴얼 키오스크 배포
약 3만 건
1년간 카드 결제 (쿠폰 사용 약 8천 건)
2,000건+
하루 최대 결제
이벤트홀 벽면에 디지털 쿠지 키오스크 화면 5대와 카드 단말기가 설치된 모습
쇼핑몰 이벤트홀, 디지털 쿠지 키오스크 5대
관람객 두 명이 뒤돌아 키오스크 화면을 보고 있는 모습
K-POP 체험 행사, 데뷔 운세 콘텐츠
AI 포토부스로 만든 배지와 포토카드를 손에 든 모습
게임 IP 팝업, AI 포토로 만든 배지와 카드

부스별 프로그램, 매장별 설정은 JSON으로

Electron과 Next.js로 키오스크 클라이언트를 설계했습니다. IPC 통신, 로그와 데이터 관리, 기기 인증을 맡았습니다. 부스마다 프로그램이 따로 있고, 매장마다 다른 세부 설정은 JSON 설정으로 켜고 끕니다.

  • AI 포토
  • 네컷 사진
  • 타로
  • 성향 테스트
  • 쿠지
  • 인형뽑기
  • 룰렛
  • AI 음악
  • 음성인식 채팅 (LLM)
  • …etc

사람 없이 하루를 버티는 키오스크

  • WatchDog으로 앱이 죽으면 다시 띄움. 도입 후 현장의 "프로그램 꺼짐" 대응 요청이 사라짐
  • 키오스크 모드와 영업 종료 시 자동 종료
  • Sentry 오류 모니터링과 Slack 알림으로 AI 폴링 같은 주요 기능 장애를 바로 인지
  • 오픈소스 기반으로 새롭게 커스텀한 원격 관리 클라이언트
  • 키오스크 매출과 기기 상태를 보는 백오피스

결제부터 출력까지

쿠폰 번호 입력, 카드와 삼성페이, 애플페이 결제를 KICC 결제 모듈로 연동했습니다(결제, 환불, 무카드 환불). 결과물은 포토 프린터, 카드 프린터, POS 영수증 프린터로 출력하고, 화면의 QR로 내려받게 했습니다. 내려받는 파일은 설정한 시간 뒤 자동으로 지워집니다.

키오스크 화면 3장. 쿠폰 번호 입력, 결제 방식 선택, AI 음악 장르 선택
쿠폰 입력, 결제 방식 선택, AI 음악 장르 선택 화면 (클라이언트 로고는 모자이크)

해외 행사와 5개 언어

next-intl로 한국어, 영어, 일본어, 중국어 간체와 번체 5개 언어를 지원하고, dayjs로 행사 국가에 맞춰 날짜와 시간 포맷을 바꿔 보여 줍니다.

배리어프리 키오스크

Windows TTS로 화면 내용을 읽어 주고, Electron 듀얼 스크린으로 보조 화면을 함께 띄우는 배리어프리 키오스크를 구현했습니다.

AI 모델을 현장 콘텐츠로

외부 AI 음악 SaaS를 오픈소스 모델로

데뷔곡 만들기 같은 AI 음악 콘텐츠는 외부 SaaS에 의존하고 있었습니다. 오픈소스 모델 ACE-STEP 1.5 Turbo로 바꿔 요청당 API 비용을 0원으로 만들고, 외부 서비스 상태에 흔들리지 않게 했습니다. 120초 곡 하나를 만드는 작업이 대기열 기준 약 8~14초 걸립니다.

ComfyUI 워크플로와 작업 대기열. 작업마다 7.6초에서 13.9초가 걸린 기록
워크플로 노드는 모자이크 처리

사진 한 장, 스타일 8가지

AI 포토 콘텐츠에서 사용자가 버추얼 캐릭터, 애니메이션, 픽셀, 레트로, 피규어, 큐비즘 등 8가지 스타일 중 하나를 고르면 사진을 변환해 출력합니다. 스타일 안내 에셋은 5개 언어로 나눠 관리했습니다.

버추얼 캐릭터, 애니메이션, 로맨틱 판타지, 픽셀, 레트로 등 AI 스타일 변환 예시

카메라 영상에 예, 아니오로 답하는 모델

"현재 화재 상황인가요?", "사람이 눈을 감고 있나요?" 같은 질문을 주면 카메라 영상을 보고 예, 아니오로 판정하는 기능을 비전 언어 모델 Clef-Flash로 만들어, 현장 안전 모니터링에 활용했습니다. 외부 API 없이 Windows PC 한 대(RTX 4070 Ti SUPER 16GB, RAM 16GB)에서 llama.cpp CUDA로 Q8_0 양자화 모델을 돌려, 판정 1회 약 110~130ms.

벽을 비추면 "아니오", 화재 장면을 비추면 "예"로 바뀝니다. 실제 속도, 사진 속 얼굴은 모자이크

사진 한 장으로 3D 모델

이미지 한 장을 3D Gaussian Splat으로 바꾸는 Idol 모델을 3D 결과물이 필요한 행사 콘텐츠에 활용했습니다. Windows PC 한 대(RTX 4070 Ti SUPER 16GB, RAM 16GB)에서 Gaussian 262,144개, 50 steps 기준 생성 1회 약 50초, GPU 사용률 94%.

생성 과정은 10배속, 결과 회전은 실제 속도

Hugging Face 모델 직접 돌려 보기

새로 올라온 모델을 받아 로컬 GPU에서 돌려 보고, 현장 콘텐츠로 쓸 수 있을지 속도와 자원 사용량을 재 보는 걸 좋아합니다. 지금까지 돌려 본 모델들:

  • Z-Image
  • Qwen-Image
  • BEN2
  • WAN
  • LTX
  • MiniMax H3 (Pika H3)
  • FLUX
  • SD 1.5
  • ACE-STEP
  • Idol (Image → 3D)
  • Clef-Flash (VLM)
  • Laya
  • Qwen3
  • gpt-oss
  • Gemma 3
  • DeepSeek
  • GLM
  • Llama
  • Mistral
  • …etc

FrontEnd Developer

KoJaem Portfolio

Copyright 2026. all rights reserved.

Designed by Jinju Woo · Implemented by KoJaem