GROWTH LOG STORIES

함께 만든 성장을,
기록으로 연결합니다.

AI와 함께 배우고, 직접 만들고, 서로 나눈
그로스로그 멤버들의 생생한 성장 기록을 만나보세요.

성장 기록
5기+이어진 커뮤니티
HEALTHIO
PROJECT

사진 한 장으로 시작하는 건강 루틴, Health IO

대표 이야기 읽기

ALL STORIES

성장의 순간을
한곳에서 만나보세요.

프로젝트의 시작부터 모임에서 나눈 인사이트까지,
그로스로그가 함께 만든 기록을 모았습니다.
개의 성장 기록

프로젝트

[GL 4기] CONTEXTOR — 말하면 핵심이 정리되는 AI 음성 메모

GROWTH LOG🌱 2026. 7. 29. 10:16

음성 메모와 모바일 요약 경험을 표현한 서비스 이미지

 

좋은 생각은 꼭 책상 앞에서만 떠오르지 않습니다. 이동 중에 해야 할 일이 생각나거나, 회의가 끝난 직후 중요한 결정이 떠오르기도 합니다. 이럴 때 음성 메모는 가장 빠른 기록 방법이지만, 녹음이 쌓일수록 다시 듣고 필요한 내용을 찾는 일은 또 하나의 업무가 됩니다.

CONTEXTOR는 이 간극을 줄이기 위해 만든 AI 음성 메모 요약 서비스입니다. 별도의 ESP32 녹음 장치로 음성을 담으면 모바일 앱과 서버가 데이터를 이어받고, 음성 인식과 요약 과정을 거쳐 핵심 내용을 다시 확인할 수 있도록 구성했습니다. 말하는 순간의 편리함은 살리고, 기록을 정리하는 부담은 줄이는 것이 프로젝트의 출발점입니다.

쌓이는 녹음보다, 다시 찾기 쉬운 기록 🧭

음성 메모는 입력이 빠르지만 정보 검색에는 시간이 듭니다. 제목이 비슷한 녹음이 여러 개라면 원하는 내용을 찾기 위해 파일을 하나씩 재생해야 하고, 긴 녹음에서는 중요한 부분이 어디에 있는지 기억하기도 어렵습니다.

CONTEXTOR는 녹음 이후의 과정을 하나의 서비스 경험으로 연결했습니다.

  1. 사용자가 ESP32 장치의 버튼을 눌러 녹음을 시작하거나 종료합니다.
  2. 녹음 상태와 데이터가 Bluetooth 또는 Wi-Fi를 통해 Flutter 앱으로 전달됩니다.
  3. 앱은 음성 데이터를 Spring Boot 서버로 보내고 처리 상태를 보여줍니다.
  4. Whisper가 음성을 텍스트로 변환하고, 요약 기능이 핵심 내용을 정리합니다.
  5. 처리된 요약 파일이 앱으로 돌아와 메모 목록에서 다시 확인할 수 있습니다.

단순히 음성을 텍스트로 옮기는 데서 멈추지 않고, 기록·전송·인식·요약·확인을 하나의 흐름으로 묶은 점이 핵심입니다.

주요 기능

  • 버튼 기반 음성 녹음: ESP32 장치에서 바로 녹음을 시작하고 종료합니다.
  • 무선 데이터 연동: Bluetooth와 Wi-Fi를 활용해 음성 데이터를 모바일 앱으로 전달합니다.
  • 실시간 상태 확인: Flutter 앱에서 녹음과 데이터 전송 상태를 확인합니다.
  • 음성의 텍스트 변환: Whisper 음성 인식 모델로 녹음 내용을 텍스트로 바꿉니다.
  • 핵심 내용 요약: 자연어 처리 기반의 요약 과정을 거쳐 긴 메모의 중심 내용을 추립니다.
  • 메모 저장과 재확인: 음성 메모와 처리 결과를 저장하고, 요약 파일을 앱으로 다시 전달합니다.

함께 만든 CONTEXTOR 팀 👥

팀은 하드웨어부터 모바일, 서버, AI 처리까지 서로 다른 영역을 하나의 사용자 경험으로 연결하는 데 집중했습니다.

임베디드·하드웨어 ESP32 기반 녹음 장치 구성, 버튼·LED·저장 장치·전원부 연동
모바일 앱 Flutter 사용자 화면, 녹음 상태 표시, ESP32 통신과 데이터 수신
백엔드·데이터 Spring Boot API, WebSocket 통신, 데이터 처리와 저장 흐름
AI·요약 Whisper 음성 인식, 텍스트 변환, 자연어 처리 기반 핵심 내용 요약

각 영역의 결과가 다음 단계의 입력이 되는 구조이기 때문에, 장치와 앱 사이의 통신 규칙부터 서버가 받는 데이터 형식, AI 처리 결과가 돌아오는 방식까지 함께 맞추는 협업이 중요했습니다.

프로젝트에 활용한 기술 구성 🛠️

임베디드 장치 ESP32, LED, DC 컨버터, 스위치, microSD 카드, 리튬 이온 배터리
모바일 앱 Flutter, Dart, iOS·Android 크로스 플랫폼 UI
무선·실시간 통신 Bluetooth, Wi-Fi, WebSocket 시그널링과 Health Check
백엔드 Spring Boot API, 음성 데이터 처리와 결과 반환
AI 처리 Whisper 음성 인식, Python 기반 자연어 처리와 텍스트 요약
데이터 음성 메모와 텍스트·요약 결과 저장

저전력 무선 통신이 가능한 ESP32로 녹음 장치를 구성하고, Flutter 단일 코드베이스로 모바일 접점을 만들었습니다. 서버는 음성 데이터와 AI 처리 흐름을 연결하며, WebSocket 기반 통신은 연결 상태와 실시간 데이터 교환을 담당합니다.

서비스 아키텍처

flowchart LR
    U[사용자] -->|버튼 입력| D[ESP32 녹음 장치]
    D -->|음성 녹음·저장| M[microSD]
    D -->|Bluetooth / Wi-Fi| A[Flutter 모바일 앱]
    A -->|음성 데이터 전송| B[Spring Boot API·WebSocket]
    B --> W[Whisper 음성 인식]
    W --> N[자연어 처리·텍스트 요약]
    N --> DB[(음성 메모·텍스트·요약 저장)]
    DB --> B
    B -->|요약 파일 반환| A
    A -->|목록·요약 확인| U

사용자는 하드웨어의 간단한 버튼 조작으로 녹음을 시작합니다. 앱은 장치와 서버 사이의 접점이 되어 데이터를 전달하고 처리 상태를 보여줍니다. 서버에서는 음성 인식과 요약, 저장이 순서대로 이루어지며, 완성된 결과가 다시 모바일 화면으로 돌아옵니다.

클라이언트와 시그널링 서버 사이의 실시간 연결 흐름

 

클라이언트와 서버가 연결 정보를 주고받는 시그널링 흐름입니다. 서비스에서는 이러한 실시간 통신 구조를 바탕으로 데이터 전달 상태를 관리합니다.

프로젝트 이용 흐름 살펴보기 📱

1. 말하는 순간 바로 기록합니다

사용자는 ESP32 장치의 버튼으로 녹음을 시작하고 종료합니다. LED로 동작 상태를 확인할 수 있으며, microSD 카드와 배터리를 포함한 독립형 장치로 구성해 음성 메모를 남기는 과정 자체를 단순하게 만들었습니다.

ESP32와 마이크, 저장 장치, 배터리 등을 조립한 음성 녹음 장치

 

ESP32를 중심으로 마이크, microSD 카드, 전원부와 조작 버튼을 하나의 보드에 구성한 실제 제작 장치입니다.

2. 앱이 녹음과 전송 상태를 이어받습니다

녹음된 데이터는 Bluetooth 또는 Wi-Fi로 Flutter 앱에 전달됩니다. 사용자는 앱에서 녹음 상태를 확인하고, 저장된 메모 목록과 요약 결과를 한곳에서 살펴볼 수 있습니다.

3. 서버가 음성을 읽고 핵심을 정리합니다

앱이 전송한 음성은 Spring Boot 서버를 거쳐 Whisper 음성 인식 단계로 이동합니다. 변환된 텍스트는 자연어 처리 기반 요약 과정을 거치며, 긴 녹음에서도 다시 확인할 만한 핵심 내용을 빠르게 파악할 수 있도록 정리됩니다.

4. 요약된 기록을 다시 확인합니다

처리된 요약 파일은 앱으로 반환됩니다. 사용자는 처음부터 녹음을 모두 재생하지 않고도 메모의 내용을 먼저 훑어본 뒤, 필요한 경우 원본 음성을 함께 확인할 수 있습니다.

프로젝트를 통해 얻은 경험

첫째, 좋은 자동화는 입력부터 결과까지 끊김이 없어야 한다는 점을 배웠습니다. 음성 인식 기능 하나만 구현하는 것이 아니라, 사용자가 버튼을 누르는 순간부터 요약을 확인하는 순간까지 전체 흐름을 설계해야 서비스의 편리함이 완성됩니다.

둘째, 하드웨어와 소프트웨어 사이에는 명확한 약속이 필요했습니다. 녹음 상태, 데이터 패킷, 전송 시점과 오류 처리 방식을 함께 정리하면서 서로 다른 기술 영역이 안정적으로 연결되는 과정을 경험했습니다.

셋째, AI의 결과도 사용자 화면에서 이해하기 쉽게 전달되어야 했습니다. 변환된 텍스트와 요약 결과가 앱의 메모 목록과 자연스럽게 이어질 때 비로소 AI가 실제 사용자의 시간을 줄이는 기능이 됩니다.

마지막으로, 역할 간 협업이 곧 서비스 품질이라는 점을 확인했습니다. 임베디드, 모바일, 백엔드, AI가 각자 완성도 있게 동작하는 것뿐 아니라, 다음 단계가 바로 사용할 수 있는 형태로 결과를 전달하는 것이 중요했습니다.

음성은 지나가지만, 맥락은 남도록 ✨

CONTEXTOR가 해결하려는 문제는 거창한 기록 방식의 변화보다 일상에서 자주 생기는 작은 불편에 가깝습니다. 급하게 남긴 음성 메모를 다시 듣고, 내용을 옮겨 적고, 핵심을 찾는 반복을 줄이는 일입니다.

하드웨어로 빠르게 기록하고, 모바일로 상태를 확인하며, AI로 내용을 정리하는 흐름은 음성 메모를 단순한 파일에서 다시 활용할 수 있는 정보로 바꿉니다. 말은 순간에 남겨도 필요한 맥락은 오래 찾을 수 있게 만드는 것, 그것이 CONTEXTOR가 제안하는 새로운 메모 경험입니다.

WRITE YOUR GROWTH

오늘의 배움을
내일의 성장으로.

기록은 나를 돌아보게 하고, 공유는 우리를 연결합니다.
당신의 다음 성장 이야기도 그로스로그에서 시작해보세요.

커뮤니티 둘러보기