전화대장군
AI 기반 실시간 보이스피싱 탐지 서비스
React NativeTypeScriptSpring BootOpenAI WhisperChatGPTFCMAWS EC2
전화대장군
AI 기반 실시간 보이스피싱 탐지 서비스
프로젝트 개요
스마트폰 사용이 익숙하지 않은 노년층이 보이스피싱에 취약하다는 점에 착안하여, AI가 실시간으로 통화 내용을 분석하고 피싱 여부를 판단하여 사용자와 보호자에게 알림을 보내는 서비스를 개발했습니다.
팀 구성
- Frontend: 2명
- Backend: 4명
- 본인 역할: 프로젝트 팀장, 프론트엔드 개발, 발표
주요 기능
- 연락처에서 보호자 등록/삭제
- 음성 파일 10초 단위 분할 및 서버 전송
- 보이스피싱 1차 위험 시 사용자에게 진동 알림 (FCM)
- 보이스피싱 2차 위험 시 보호자에게 문자 알림
기술 스택
| 구분 | 기술 |
|---|---|
| 언어 | JavaScript, TypeScript, Java, Python |
| 프레임워크 | React Native, Spring Boot |
| API | OpenAI Whisper, ChatGPT, FCM, CoolSMS |
| 서버 | Github Actions, Redis, Docker, AWS EC2 |
역할 및 업무
프로젝트 일정 관리 및 발표
- 3개월간 기획부터 개발, 발표까지 일정 관리
- 제6회 KDT 해커톤 본선 발표
음성 녹음 및 데이터 전송 처리
- 음성 데이터를 10초 단위로 분할하여 서버로 전송하는 메소드/컴포넌트 개발
- React Native Audio Recorder Player를 사용해 음성을 녹음하고 파일로 저장
- 녹음된 데이터를 REST API를 통해 서버로 전송
보호자 관리 기능 구현
- 기기에 저장된 연락처 데이터를 가져와 목록으로 표시 및 검색 기능 제공
- 특정 연락처를 보호자로 등록하거나 삭제할 수 있는 기능 개발
- 등록된 보호자 데이터를 AsyncStorage를 이용해 앱 재실행 시에도 데이터 유지
주요 문제 해결
(1) 리액트 네이티브 선택 이유
- 노년층의 기기 사용 패턴 분석 결과, 97%가 안드로이드 사용
- Android 우선 개발 후 iOS 지원 계획
- 크로스플랫폼 개발을 위해 React Native 선택
(2) 라이브러리 오류 분석 및 해결
- 라이브러리 코드 내 중복 메소드 문제 발견
- GitHub 이슈 탭과 라이브러리 내부 코드를 분석하여 오류 해결
성과
React Native 기반 Android 애플리케이션 개발 역량 강화
- 기존에 익숙한 React, JavaScript 기술 스택을 활용하여 Android 환경에서 애플리케이션 구현
- Kotlin 연동 및 Android 권한 설정 처리 경험을 통해 네이티브 기능 확장 및 안정적인 백그라운드 실행 구현
라이브러리 이슈 분석 및 문제 해결 능력 입증
- React Native 라이브러리 내부 메소드 중복 오류와 Android 버전별 권한 설정 문제를 파악
- GitHub 이슈 탭을 활용한 커뮤니티 정보 수집 및 해결 프로세스 적용으로 기능 정상화 및 서비스 안정성 개선
제6회 KDT 해커톤 지정과제 부문 최우수상 (고용노동부 장관상)
- 높은 경쟁률의 대회에서 프로젝트 발표 능력을 입증하고 뛰어난 서비스 구현력으로 인정받아 수상
- 대외적으로 기술력 및 커뮤니케이션 역량을 검증받은 성과