Projects
실시간 음성 번역 어플리케이션
2026.08 ~ 현재
코스모스 트랜스퍼 (모바일)
실시간 음성 인식·번역 기반 양방향 통역 모바일 앱, 코스모스 트랜스퍼 제품군의 모바일 라인업 (유비온 협업)
- 역할
- 전체 개발
- 기술
- Flutter, 실시간 STT/번역 SDK, WebSocket, SQLite
성과iOS·Android 양대 플랫폼(App Store / Google Play)에 정식 출시
실시간 양방향 통역 기능 개발
- 마이크 음성을 실시간 STT/번역 SDK에 스트리밍해 두 언어 자막을 동시 생성
- 화면 상단을 180° 회전해 마주 앉은 상대가 자막을 바로 읽도록 구현
원격 2인 세션(Room) 및 딥링크 참가 구현
- 방 코드/QR로 두 기기를 자체 WebSocket 릴레이로 묶어 통역 결과를 중계하는 원격 세션 개발
- Universal/App Link·QR 스캐너·수동 코드 입력 세 경로를 하나의 참가 파이프라인으로 통합
세션 인증 및 연결 안정성 처리
- refresh token 기반 자동 재발급을 API 진입점 한 곳에서 처리해 세션 끊김 없이 유지
- 수신 트래픽을 하트비트로 활용하는 워치독으로 연결 끊김을 감지해 경고 표시
대화 기록 저장·재생 및 다국어/반응형 UI
- 세션 텍스트·오디오를 로컬 SQLite에 저장하고 원어/번역 탭 전환·오디오 구간 재생 지원
- 5개 언어(한/영/일/중/태) UI·다크모드와 화면 폭 기준 태블릿 반응형 레이아웃 적용
RAG 플랫폼
2026.06 ~ 현재
DScovery-RAG
온프레미스 로컬 LLM과 RAG를 결합해 강의 자료 기반 AI 챗봇 및 LMS 학습 지원 기능을 제공하는 솔루션 (삼성전자 DS부문 사내 학습 플랫폼 DScovery AI 고도화 프로젝트 / 유비온 협업)
- 역할
- 전체 개발
- 기술
- Next.js, Node.js, LangChain, PostgreSQL(pgvector), Ollama
성과강의 자료 기반 AI 챗봇 및 LMS 학습 지원 기능 개발
강의 자료 기반 RAG 챗봇 개발
- 로컬 LLM에 RAG를 결합하여, 강의 자료를 검색·참조해 해당 강의 내용에 근거해 답변하는 AI 챗봇 구현
- 강의 맥락을 벗어난 임의 답변 대신 실제 자료에 기반한 신뢰할 수 있는 응답을 제공하도록 설계
LMS 학습 지원 AI 기능 개발
- 강의 자료를 기반으로 학습을 돕는 AI 기능 개발 (퀴즈 자동 생성, 구간 해설, 이해도 체크, 추천 질문 등)
문서 임베딩 파이프라인 및 온프레미스 LLM 환경 구성
- 강의 자료를 파싱·청킹 후 임베딩하여 pgvector에 저장, 질의 시 유사도 검색으로 관련 자료를 찾는 RAG 파이프라인 구축
- 외부 API 없이 폐쇄망에서 동작하도록 Ollama 기반 로컬 LLM 환경 구성
관련 기사 ↗
실시간 음성 번역 프로그램
2025.10 ~ 현재
코스모스 트랜스퍼 (소프트웨어 설치형)
강의자의 음성을 실시간으로 텍스트 변환 후 다개국어로 번역하는 AI 번역 솔루션
- 역할
- 전체 개발
- 기술
- Electron, React.js, Node.js, TypeScript
성과재학생 100%가 외국인인 대학에 도입, 4개 국어 실시간 번역 자막 제공
Electron 기반 전체 아키텍처 재설계 및 개발
- 기존 Python/gRPC로 구성된 디스플레이 프로그램을 Electron 단일 스택으로 처음부터 재설계
- 제어 프로그램과 화면 프로그램을 하나의 통합 구조로 개발 및 유지보수
자동 업데이트 및 배포 파이프라인 구축
- 신규 버전마다 사용자가 직접 재설치해야 하던 문제를 해결하기 위해 electron-forge 기반 빌드·패키징·배포 파이프라인 구성
- 앱 실행 시 최신 버전을 자동으로 감지·설치하는 자동 업데이트 구현
- 사내 라이선스 서버를 통한 Squirrel 기반 RELEASES·nupkg 배포
관련 기사 ↗
실시간 음성 번역 프로그램
2025.04 ~ 2025.09
코스모스 트랜스퍼 (설치형)
강의자의 음성을 실시간으로 텍스트로 변환 후 다개국어로 번역하는 AI 번역 솔루션
- 역할
- 유지보수 및 개발
- 기술
- Electron, React.js, Node.js, Python
성과강의 진행 안정성 및 사용자 편의성 70% 이상 향상
강의 중 입력 소스 변경
- 언어 인식 AI의 입력 소스가 강의 시작 시 고정되어 여러 언어로 입력할 수 없던 문제
- 강의 언어를 바꾸면 기존 gRPC 연결을 끊고 해당 언어로 재연결하는 로직 추가
.wav 파일을 .mp3로 변환
- 세션을 일시정지할 때마다 .wav 음성 파일이 새로 생기던 문제
- 일시정지 시 .wav 파일을 백업·병합하여 마지막에 강의 전체 mp3를 내려받을 수 있게 설계
번역 화면·제어 프로그램 개발 및 유지보수
- 제어 프로그램: Node.js, Electron, React.js
- 화면 프로그램: Python, gRPC
CDN 솔루션
2024.05 ~ 2024.12
LABY-CDN
삼성전자 DS 교육관리시스템(LMS)의 콘텐츠 캐시를 관제하고 약 60대의 서버를 로드밸런싱하기 위한 솔루션
- 역할
- 서비스 전체 구조 설계, 프론트엔드·백엔드 개발, 비디오 캐시 관리 및 IP 기반 URL 리디렉션 구현
- 기술
- Wowza Streaming Engine, Apache, Nginx, PHP, Node.js, WebSocket
성과콘텐츠 캐시 관제 시스템 도입으로 동영상 재생 품질 80% 향상
사업장 서버 상태 실시간 통신
- WSS로 각 동영상 서버와 상태 표시 서버를 연결해 상태를 실시간 표출
- 스트리밍 상태(Wowza)를 조회하여 서버 정상 유무 판단
IP 기반 URL 리디렉션
- 클라이언트 IP 기준 가장 가까운 사업장의 동영상 URL 반환
- 사업장 정상 유무를 판단해 가장 가까운 정상 사업장으로 반환
프론트엔드 및 백엔드 개발
- 프론트: HTML, CSS, Vanilla JS
- 백엔드: PHP, Node.js
트러블슈팅
문제 · NAS 과다 호출 우려
새로 등록된 동영상을 처음 조회할 때 모든 사업장이 NAS에서 동영상을 가져가 트래픽이 몰리고 캐싱이 제대로 되지 않을 것으로 판단했다.
해결 · 지역별 Nginx 캐시 서버
사업장 지역마다 Nginx 캐시 서버를 증설하고 Reverse Proxy를 적용했다.
의료평가 디브리핑 솔루션
2023.04 ~ 2023.07
LABY-Debriefing
국군의무학교에서 사용하는 임상수행능력 향상을 위한 의료평가 및 관리 솔루션
- 역할
- 백엔드 개발, 인코더 제어 모듈 개발, 시스템 통합 테스트 및 배포
- 기술
- Node.js, FFmpeg, RTSP, PostgreSQL, Apache, PHP, WebSocket
성과실시간 모니터링 및 자동화 시스템 도입으로 교육 관리 효율성 50% 증가
IP 카메라 제어
- FFmpeg으로 IP 카메라의 녹화/일시정지/정지 기능 개발 (RTSP)
- 일시정지 시 생긴 동영상 조각을 병합하여 서비스
백엔드 개발
- RESTful 규칙을 따르는 서버 API 개발
트러블슈팅
문제 · 꺼지지 않는 녹화
네트워크 이상이나 신호 중복 수신 시 녹화 서버가 종료 신호를 놓칠 수 있었다.
해결 · 주기적 동기화와 최대 시간
녹화 서버와 디브리핑 서비스의 녹화 상태를 주기적으로 동기화하고, 녹화 최대 시간을 설정해 서버에 무리가 가지 않게 제한했다.
클라우드 기반 LMS 서비스
2022.09 ~ 2023.02
클라우드러닝
학원 인코더 자동 녹화 및 클라우드 기반 LMS 서비스
- 역할
- 백엔드 개발, 동영상 배포 시스템 구축
- 기술
- Apache, PHP, Node.js, PostgreSQL, FTP
성과동영상 배포 시스템의 병렬 처리 구현으로 배포 속도 70% 향상
동영상 병렬 업로드
- 직렬로 처리되던 녹화본 클라우드 업로드를 크기를 정한 Queue로 병렬 처리
- 클라우드 업로드뿐 아니라 동영상 다운로드(FTP)도 병렬 처리
JWT 도입
- 세션 기반 로그인을 JWT로 리팩터링해 서버 세션 부담 감소
백엔드 개발
- RESTful 규칙을 따르는 서버 API 개발
- 서버 속도 향상을 위해 HTTP/2 도입
트러블슈팅
문제 · 게시글 이미지 업로드
텍스트 에디터가 이미지를 본문에 바이너리로 넣어 조회 쿼리 응답이 느려졌다.
해결 · 파일 변환 및 주소 매핑
본문의 이미지 바이너리를 파일로 저장하고 그 자리에는 파일 경로를 넣었다.
문제 · 쌓이는 진도율
플레이어가 주기적으로 남기는 진도율 데이터가 너무 많아져 진도율 조회가 느려졌다.
해결 · 주기적 진도율 병합
3개월이 지난 동영상은 실시간 진도율을 처리하지 않고 스케줄러가 진도율만 따로 모아 저장하도록 바꿨다.
서비스 바로가기 ↗
실시간 사내 방송 솔루션
2022.03 ~ 2022.09
LABY-CAST
인코더를 통한 실시간 사내 방송 시스템 솔루션
- 역할
- 실시간 스트리밍 기능 구현, 솔루션 유지보수
- 기술
- Wowza Streaming Engine, IIS, ASP, MSSQL, .NET
성과사내 방송 시스템 안정성 향상으로 시청률 40% 증가, 시스템 다운타임 15% 감소
방송 시작 신호 제어
- 사업장별 Wowza 스트림 전송은 허용해 두고 최상위 메인 서버에 신호를 주어 방송 제어
테이블 백업
- 외부 업체가 동기화하는 사용자·부서 테이블을 백업하고 관리
트러블슈팅
문제 · 많은 사용자 추가
방송 시 사용자 추가에서 만 건 정도의 I/O가 발생해 느렸다.
해결 · 벌크 인서트
MSSQL 최대 개수인 2,000개씩 끊어 벌크 인서트해 쿼리 속도를 높였다.
문제 · 중복된 사용자
외부 업체 데이터가 중복으로 들어오는 경우가 있었다.
해결 · Set을 활용한 중복 제거
프론트(JavaScript)에서 Set으로 1차 제거하고, 백엔드(C#)에서도 중복을 확인해 예외 처리했다.