전체 프로젝트 보기

졸업작품 구상구상 · 웹 데모

먼저 말 거는 영어 룸메이트

앱은 내가 열어야 시작되고, 이 기기는 내가 방에 있으면 먼저 시작한다.

가상 기기 데모 열기 연구 질문 보기
대상
혼자 사는 20~30대 영어 학습자
형태
방에 두는 작은 기기 + 폰 웹앱 (같은 엔진)
핵심 기술
먼저 말 걸기(근접·레이더) · 틀린 표현 간격 반복
지금
웹 가상 기기 데모 (2026-11)

07:30 → 22:00 · 아래로 내려가면 이 기기와 보내는 하루가 아침에서 밤이 됩니다

아침07:30방에 있으면, 기기가 먼저 인사한다

먼저 말 걸기 · 레이더 + 폰 BLE 근접

폰이 기기의 BLE 비콘 영역에 들어오면 서버에 알리고, 기기는 레이더로 정말 방에 있는지 확인한다. 둘 다 맞으면 기기가 먼저 말을 건다. 폰은 “누구”, 레이더는 “정말 있는지”를 맡는다. 인사에는 어제 틀린 “I’m running late”를 넣어 한 번 말해 보게 한다.

비교할 신호는 4가지다 — 정해진 시간 · 레이더 · 폰 근접 · 폰+레이더 (연구 질문 2 · 계획).

  1. 폰 근접 · 들어옴 → 레이더 · 방에 있음
  2. 기기: Good morning! How do you say “나 늦을 것 같아” in English?

  3. 나: I’m running late.

  4. 기기: Exactly! “I’m running late.” So, what’s your plan for today?

아침빛이 드는 작은 원룸. 책상 위 둥근 기기의 윗면 링이 주황빛으로 켜져 있고, 뒤로 정리 안 된 침대와 의자에 걸린 후드티가 보인다.AI 이미지 · 로컬 FLUX.2 klein

점심12:002분, 내 관심사로 만든 쉬운 영어

맞춤 듣기 입력 · 관심사·수준·지난 실수

모두에게 같은 교재 대신, 내 관심사·수준·지난 실수로 만든 짧은 영어 브리핑을 들려준다. 관심사 하나를 쉬운 영어로 2분.

  1. 점심 브리핑 · 2분 · 관심사: 개발
  2. 기기: Here is your lunch briefing. Many developers now write code together with AI tools. But people still need to read and check the code. What do you check first when you read code?

  3. 나: I check the tests first.

바쁠 때언제든“나중에”를 누르면 조용해진다

말 걸 때 배우기 · 하루 상한 · 거절한 시간대

미루면 조용해지고, 언제 말 걸어야 하는지를 배운다. 하루 말 거는 횟수에 상한을 두고, 거절한 시간대에는 덜 말 건다. 마이크는 버튼을 누르거나 기기가 물어본 뒤에만 켜진다.

  1. 기기: Quick one. Ready for some English?

  2. 내가 기기의 버튼을 누름: 나중에
  3. “나중에” — 잠시 뒤 다시 말을 겁니다.
  4. 같은 시간대에 “나중에”가 쌓이면, 그 시간대엔 먼저 말 걸지 않습니다.

저녁19:00“How was your day?” — 3분 대화

대화 + 틀린 표현 기록 · 클라우드 LLM

저녁엔 3분 대화를 건다. 대화에서 틀린 표현은 기억에 모아 둔다. 받아쓰기·음성 합성은 기기나 브라우저에서 할 수 있는 만큼 하고, 대화 문장만 LLM API로 보낸다.

로컬 음성 파이프라인(받아쓰기 → gemma4 → Kokoro) 평균 응답 1.1초 — 맥 시제품 · 합성 음성으로 잰 값. 대화 API 비용은 학생 1명이 한 달 3시간쯤 쓸 때 약 200원 — 추정 · Claude Haiku 5.5 가격 기준.

  1. 기기: Hey, welcome back. How was your day?

  2. 나: Good! Yesterday I go to a new cafe.

  3. 기기: Small tip: say “Yesterday I went” instead of “Yesterday I go”. I’ll ask you again tomorrow. Oh, nice. Can you tell me a little more?

  4. 기억에 추가: “Yesterday I go” → “Yesterday I went”

밤22:00자기 전 1분, 오늘 틀린 표현 복습

간격 반복 · 틀린 표현을 며칠 뒤 다시

오늘 틀린 표현 3개를 다시 묻는다. 핵심 기술은 기억이다 — 틀린 표현을 모아 두고, 며칠 간격을 늘려 가며 기기가 먼저 다시 묻는다. 폰 앱에서는 틀린 표현이 그날로 끝난다.

  1. 복습 1 / 3
  2. 기기: Before bed, a quick review. Can you fix this? “Yesterday I go”

  3. 나: Yesterday I went.

  4. 기기: Exactly! “Yesterday I went.” Next one…

맞히면 다음 복습까지 간격이 늘어난다 (데모 기준) · 틀리면 다음 날 다시

  1. 1일
  2. 2일
  3. 4일
  4. 7일
밤의 같은 원룸. 불은 꺼져 있고 창으로 푸른 빛이 들며, 책상 위 둥근 기기의 링만 주황빛으로 은은하게 켜져 있다.AI 이미지 · 로컬 FLUX.2 klein

밤 이후 — 자세히

기기가 잠든 뒤의 설계 노트. 폰 앱과의 비교, 구성도, 부품, 실험 설계, 위험, 로드맵, 출처를 접어 두었습니다. 필요한 칸만 펼쳐 보세요.

대상과 문제혼자 사는 20~30대 영어 학습자 · 앱을 더 이상 열지 않는 문제

언어 앱이 실패하는 건 기능이 모자라서라기보다, 사람이 앱을 더 이상 열지 않아서라고 본다. 이 프로젝트의 출발 가설이다. 그래서 기능을 더하는 대신 “누가 먼저 시작하나”를 바꾼다.

대상은 혼자 사는 20~30대 영어 학습자다. 집에서 영어로 말 걸어 줄 사람이 없다. 1인 가구는 전체 가구의 약 35%다(2023, 기사 인용). 학원·학교처럼 여러 학습자를 관리하는 교실판은 이후 확장으로 둔다.

폰 앱과 다른 점누가 시작 · 어디서 · 듣기 입력 · 기억 · 방해 · 타이밍 — 6가지 비교표
폰 영어 앱과 이 기기의 비교
항목폰 앱이 기기
누가 시작내가 앱을 열어야 시작정해 둔 시간에 내가 방에 있으면 기기가 먼저 말을 건다
어디서폰을 들고 화면을 본다방 안에서 손 안 쓰고 말로
듣기 입력모두에게 같은 교재내 관심사·수준·지난 실수로 만든 짧은 영어 브리핑
기억틀린 표현이 그날로 끝며칠 뒤 틀린 표현을 다시 묻는다(간격 반복)
방해알림·다른 앱이 옆에 있다영어만 하는 기기라 딴 길이 없다
타이밍알림이 아무 때나 온다방에 있고 바쁘지 않을 때만 말한다

핵심 기술은 기억이다. 대화에서 틀린 표현을 모아 두고, 며칠 간격을 늘려 가며 기기가 먼저 다시 묻는다.

시스템 구성구성도 · LLM은 클라우드 API로(확정) · 기기 안 LLM은 쓰지 않는다 외 결정 4개
시스템 구성: 기기(레이더·버튼·LED·마이크·스피커)와 폰(BLE 근접 감지)이 서버에 신호를 보내고, 서버가 말 걸 때를 정하고 틀린 표현을 기억하며, 대화 문장은 클라우드 LLM API가 만든다.BLE들어옴감지·말(글)대화폰 (웹앱)BLE 비콘 감지= 누가 왔나기기 (ESP32-S3)레이더 = 방에 있나버튼 · 마이크 LED마이크 · 스피커서버 — 같은 엔진말 걸 때 판단틀린 표현 기억복습 일정 (간격 반복)LLM 키는 서버에만LLM API대화 문장 생성Claude Haiku 5.5
폰은 “누구”, 레이더는 “정말 방에 있는지”를 맡는다. 받아쓰기·음성 합성은 기기나 브라우저에서 하고, 서버와는 글로 주고받는다. 폰 웹앱·노트북·전용 기기가 같은 서버 엔진을 쓴다.

LLM은 클라우드 API로 (확정)

받아쓰기·음성 합성은 기기나 브라우저에서 할 수 있는 만큼 하고, 대화 문장만 API로 보낸다. Claude Haiku 5.5(100만 토큰당 입력 $0.10 · 출력 $0.50) 기준으로 한 달 3시간쯤 쓰는 학생 한 명에 약 200원이다(추정).

기기 안 LLM은 쓰지 않는다

전부 기기 안에서 돌리는 방식은 대화 품질이 모자라 뺐다. 로컬 통화 연습 시제품(받아쓰기 → gemma4 → Kokoro 음성, 맥에서 평균 1.1초, 합성 음성으로 잰 값)으로 음성 파이프라인 자체는 확인했다.

개인 ChatGPT·Claude 구독은 끌어 쓰지 않는다

구독 계정의 토큰을 뽑아 쓰는 방식은 약관 위반이라 하지 않는다.

기기에 묶이지 않는다

폰 웹앱·노트북·전용 기기가 같은 엔진을 쓴다. 실험에서 “앱 모드”와 “기기 모드”를 같은 대화 품질로 비교할 수 있다.

하드웨어레이더 · 버튼 2개 + 마이크 LED · 마이크·스피커 · ESP32-S3 — 폰 근접은 이렇게 안다
사람 감지 센서
mmWave 레이더 또는 PIR. 방에 실제로 있는지 본다.
버튼 2개 + 마이크 LED
"말하기"·"나중에". 항상 듣지 않는다 — 마이크는 버튼을 누르거나 기기가 물어본 뒤에만 켜지고, 켜진 동안 LED가 켜진다.
마이크 · 스피커
말로만 주고받는다.
ESP32-S3 (또는 STM32WB)
센서·버튼·LED·오디오 전송과 BLE 비콘. 무거운 일은 서버가 해서 기기는 얇게 둔다.

폰 근접은 이렇게 안다

  1. 기기가 BLE 비콘을 낸다.
  2. 폰 앱이 비콘 영역에 들어온 걸 감지해 서버에 알린다.
  3. 서버가 기기에 묻고, 기기가 레이더로 실제로 방에 있는지 확인한다.
  4. 둘 다 맞으면 기기가 먼저 말을 건다.
  • iOS는 백그라운드 비콘 감지에 “항상 허용” 위치 권한이 필요할 것으로 본다(확인 필요).
  • 감지 지연은 몇 초에서 몇십 초로 본다(추정). 그래서 “문을 열자마자”가 아니라 “자리에 앉았을 때” 말 걸도록 설계한다.
연구 질문과 실험 설계교차 설계 20~30명 · 앱 모드 2주 vs 기기 모드 2주 · 질문 3개

연구 질문 1 · 핵심

먼저 말 거는 기기가, 내가 여는 앱보다 더 자주·더 오래 쓰이나?

교차 설계. 참가자 20~30명이 앱 모드 2주, 기기 모드 2주를 쓰고 순서는 무작위로 정한다. 하루 말한 시간(분), 계속 쓰는 비율, 기기가 말 걸었을 때 응답한 비율을 잰다.

연구 질문 2

어떤 신호로 말 거는 게 제일 나은가?

정해진 시간만 · 레이더만 · 폰 근접만 · 폰+레이더를 비교한다. 응답률과 잘못 말 건 횟수(사람이 없거나 바쁠 때)를 잰다.

연구 질문 3 · 보조

말하기 실력이 달라지나?

전후 말하기 점수 변화를 본다. 4주·소수 참가자라 예비 근거로만 말한다.

앞선 근거: 챗봇 언어 학습 메타분석에서 효과 크기 g≈0.53(Kim, 2023). 다만 대부분 작은 표본·짧은 기간 연구였고, 한국 학습자 대상 무작위 대조 연구는 찾지 못했다.

위험과 대응귀찮음 · 사생활 · 참가자당 기기 값 · 음성 처리 비용
귀찮음
하루 말 거는 횟수 상한, "나중에" 버튼, 거절한 시간대는 덜 말 걸기.
사생활
항상 듣지 않음, 마이크 LED, 녹음은 동의한 경우에만 저장.
참가자당 기기 값
ESP32-S3 얇은 클라이언트로 부품을 줄인다. 폰 웹앱 모드도 같은 엔진이라 기기 없이도 실험할 수 있다.
음성 처리 비용
받아쓰기·음성 합성은 기기나 브라우저에서 할 수 있는 만큼 하고, LLM만 API로 보낸다.
로드맵6단계 · 지금은 웹 가상 기기 데모 → 폰 웹앱 → 기기 시제품 → 교차 실험
  1. 01웹 가상 기기 데모지금

    센서 토글·먼저 말 걸기·기억과 복습. 이 페이지의 데모.

  2. 02폰 웹앱 + 기억 서버

    복습 일정을 서버로 옮기고, 실제 하루 일정으로 말을 건다.

  3. 03기기 시제품

    ESP32-S3에 레이더·버튼·LED·마이크·스피커를 붙인다.

  4. 04폰 근접 시험

    BLE 비콘 감지 지연과 iOS 위치 권한을 실제로 확인한다.

  5. 05교차 실험

    20~30명, 앱 모드 2주 · 기기 모드 2주.

  6. 06교실·기관판

    여러 학습자를 한 기관이 관리하는 확장판(이후).

숫자와 출처g≈0.53(Kim, 2023) · 1인 가구 약 35% · 약 200원 · 1.1초 · 사진
  • 효과 크기 g≈0.53 — 챗봇 언어 학습 메타분석(Kim, 2023). 대부분 작은 표본·짧은 기간 연구.
  • 1인 가구 약 35% — 전체 가구 중 비율(2023, 기사 인용).
  • 약 200원 — 학생 1명이 한 달 3시간쯤 쓸 때 대화 API 비용. 추정 · Claude Haiku 5.5 가격 기준(100만 토큰당 입력 $0.10 · 출력 $0.50).
  • 1.1초 — 로컬 음성 파이프라인 평균 응답(받아쓰기 → gemma4 → Kokoro). 맥 시제품 · 합성 음성으로 잰 값.
  • 4가지 — 먼저 말 거는 신호 비교(정해진 시간 · 레이더 · 폰 근접 · 폰+레이더). 연구 질문 2 · 계획.
  • 사진 — 실제 촬영이 아니라 이 작업용 맥에서 오픈소스 모델(FLUX.2 klein 4B, Apache-2.0)로 만든 AI 이미지. 사람·실제 제품은 나오지 않는다.

다음 날 아침

가상 기기로 해 보기

레이더·폰 근접·시간대를 켜고 끄면 기기가 먼저 말을 겁니다. 틀린 표현은 기억에 쌓이고 다음 날 다시 묻습니다. 마이크가 없으면 글로 대답해도 됩니다.

이 페이지의 사진은 실제 촬영이 아니라, 이 작업용 맥에서 오픈소스 모델(FLUX.2 klein 4B, Apache-2.0)로 만든 AI 이미지입니다. 사람·실제 제품은 나오지 않습니다.