말하면 OK icon

말하면 OK

말하면 OK는 실제 직원처럼 사용자의 자연어 요청을 이해하고 응답하는 AI Voice Kiosk입니다.

이 프로젝트는 client, server, stt, nlp처럼 역할별 저장소를 분리해 구성한 팀 프로젝트입니다. 클라이언트, STT 서버, API 서버, 자연어 처리 서버가 각각 독립된 역할을 담당하며, 사용자의 음성 요청을 주문·추천·안내 같은 키오스크 행동으로 연결하는 구조를 목표로 했습니다.

Info
  • 2025.3 ~ 2025.6
  • React TypeScript Node.js FastAPI STT TTS

Project Goals

사용자가 키오스크를 조작법이 아니라 자연어 대화로 사용할 수 있어야 합니다.

기존 키오스크는 사용자가 화면 구조를 이해하고 직접 메뉴를 탐색해야 합니다. 말하면 OK는 사용자가 직원에게 말하듯 요청하면, 시스템이 음성을 이해하고 필요한 행동으로 연결하는 경험을 목표로 시작했습니다.

이를 위해 클라이언트, STT 서버, API 서버, NLP 서버를 분리하고, 음성 입력부터 자연어 의도 분석, 키오스크 행동 수행, 음성 응답까지 이어지는 end-to-end 파이프라인을 구성했습니다.

Goals
  • 음성 기반 키오스크 인터랙션
  • STT 기반 자연어 입력 처리
  • NLP 서버 기반 의도 분석
  • 메뉴 조회·추천·주문 API 연동
  • TTS 기반 음성 응답 경험
Demo Video
말하면 OK voice kiosk demo video

음성 키오스크 데모

음성으로 메뉴를 탐색하고 장바구니를 수정한 뒤 결제 흐름까지 이어지는 실제 데모입니다.

원본 보기

System Architecture

React

React

TypeScript

TypeScript

STT Server

STT Server

Voice to Text

TTS Response

TTS Response

Voice Feedback

FastAPI NLP Server

NLP Server

Intent Analysis

OpenAI

OpenAI

Node.js API Server

API Server

Kiosk Actions

MongoDB

MongoDB

Menu / Order

화면과 음성, 두 가지 인터랙션을 하나의 키오스크 경험으로 통합했습니다.

React 기반 클라이언트는 기존 키오스크처럼 화면을 직접 조작하는 방식과 음성으로 요청하는 방식을 모두 지원합니다. 음성 입력은 Google Cloud Speech-to-Text(STT) 서비스를 통해 텍스트로 변환되고, 처리 결과는 Google Cloud Text-to-Speech(TTS) 서비스를 통해 다시 음성으로 전달됩니다. 화면 입력과 음성 입력은 모두 Node.js 기반 API 서버를 통해 동일한 메뉴 조회, 추천, 주문 기능을 수행하며, API 서버는 MongoDB와 연동하여 메뉴와 주문 정보를 관리합니다. 이를 통해 사용자는 상황에 따라 터치 기반 또는 음성 기반으로 동일한 키오스크 서비스를 이용할 수 있도록 구성했습니다.

자연어를 키오스크가 이해할 수 있는 행동으로 변환하는 AI 계층입니다.

FastAPI 기반 NLP 서버는 STT를 통해 전달된 텍스트와 화면 입력에서 전달된 요청을 OpenAI를 활용해 분석하고, 주문, 추천, 안내 등 사용자의 의도를 키오스크 도메인에 맞는 행동으로 변환합니다. 분석된 결과는 API 서버로 전달되어 실제 메뉴 조회, 추천, 주문 기능을 수행하며, 각 계층은 독립적인 역할을 유지하면서도 인터랙티브하게 연결되어 하나의 end-to-end AI Voice Kiosk 경험을 제공합니다.

Features

말하면 OK 디카페인 메뉴 화면

Voice Menu Navigation

사용자가 자연어로 메뉴를 요청하면 해당 카테고리와 메뉴 목록을 화면에 반영합니다. 직접 버튼을 찾지 않아도 음성 요청만으로 키오스크 탐색을 시작할 수 있습니다.

말하면 OK 추천 메뉴 화면

Intent-based Recommendation

NLP 서버가 사용자의 발화를 분석해 추천 의도를 분류하고, API 서버가 조건에 맞는 메뉴를 제공합니다. 추천 결과는 바로 장바구니와 주문 흐름으로 이어질 수 있습니다.

말하면 OK 장바구니 음성 수정 화면

Voice-driven Cart Actions

장바구니에 담긴 메뉴도 음성으로 수정할 수 있도록 구성했습니다. 사용자의 요청을 삭제, 수량 변경, 옵션 변경 같은 실제 키오스크 행동으로 연결합니다.

말하면 OK 결제 진행 화면

Payment Flow Feedback

주문이 확정되면 결제 진행 상태를 화면에 표시하고, 처리 결과를 음성 응답으로 안내합니다. 음성 입력부터 결제 흐름까지 하나의 대화형 키오스크 경험으로 이어지도록 구성했습니다.

Results

음성 요청이 실제 키오스크 행동으로 이어지는 흐름을 구현했습니다.

말하면 OK는 사용자의 음성 입력부터 STT, 자연어 의도 분석, API 서버 처리, TTS 응답까지 이어지는 AI Voice Kiosk 파이프라인을 구현한 프로젝트입니다.

저는 팀 프로젝트 안에서 클라이언트, STT 서버, API 서버, NLP 서버를 역할별로 분리하고, 각 서버가 하나의 사용자 요청 흐름 안에서 연결되도록 구성했습니다. 이를 통해 사용자는 직원에게 말하듯 요청하고, 시스템은 이를 메뉴 추천, 주문, 안내 같은 행동으로 처리할 수 있는 구조를 만들었습니다.

Lessons Learned

AI 음성 서비스는 모델보다 흐름을 안정적으로 연결하는 것이 중요했습니다.

이 프로젝트를 통해 음성 입력, 자연어 처리, API 서버, 화면 상태, 음성 응답이 하나의 사용자 경험으로 연결되어야 한다는 점을 경험했습니다.

특히 STT와 NLP 결과가 아무리 좋아도, API 서버의 행동 모델과 클라이언트 상태가 일관되지 않으면 자연스러운 키오스크 경험을 만들기 어렵다는 것을 알게 되었습니다. 말하면 OK는 AI 기능을 단순히 붙이는 것이 아니라, 음성 입력이 실제 서비스 행동으로 이어지도록 전체 파이프라인을 설계한 경험이었습니다.

100%
1/27