강민재

강민재.

프론트엔드 개발자
towndev@naver.com

Introduce.

React, Next.js, React Native, Expo, TypeScript, Redux, React-query 기반의 프론트엔드 개발자 강민재 입니다.

대학교를 휴학하고 창업에 도전하며 서비스를 직접 구현하기 위해 개발을 시작했습니다. 그 과정에서 복잡한 문제를 코드로 풀어내고 유저에게 닿는 프로덕트를 완성하는 개발의 즐거움을 알게 되었고, 프론트엔드 개발자로서 그 즐거움을 유저를 위한 실질적인 가치로 만들어가고자 합니다.

개발은 단순히 화면을 그리는 것이 아니라 비즈니스 문제를 해결하고 사용자에게 명확한 가치를 전달하는 과정이라 믿습니다. 프론트엔드부터 백엔드, 인프라까지 직접 구축해 본 풀스택 경험을 바탕으로 시스템 전체의 데이터 흐름을 폭넓게 이해하며, 백엔드를 비롯한 다직군과의 깊이 있는 소통과 집요한 실행력으로 조직과 서비스의 성장에 기여하겠습니다.

🏝️섬에 갇혀 이력서를 쓰고 있는 개발자를 구출해주세요.


Work Experience.

타운스튜디오.

프론트엔드 개발자

2026.03 - 2026.09 (7개월)
저스트트립
저스트트립 - PDF 바우처 및 영수증 사진 AI 연동.
2026.08 - 2026.09
문제 정의
•

여행 일정과 지출 관리를 위해 항공 10개, 숙소 6개, 지출 10개 항목을 일일이 수기로 입력해야 했습니다. Google Place API를 도입해 항공 8개, 숙소 5개, 지출 8개 항목으로 줄였으나, 여전히 수기 입력 항목이 너무 많고, 영어나 현지 언어로 된 PDF 바우처와 영수증을 직접 보며 입력하는 번거로움과 입력 오류가 여전히 큰 문제였습니다.

해결 과정
•

Azure Container App을 연동하여 모바일·웹에서 바우처 PDF나 영수증 사진을 업로드하면 백엔드 파이프라인에서 비정형 문서를 실시간 분석하도록 구현했습니다. 사전 학습된 OCR 모델로 추출한 결제 일시, 다국어 통화, 품목별 금액, 체크인 일정을 정형 JSON 데이터로 파싱하여 프론트엔드 폼에 자동으로 등록되도록 연동했습니다.

성과
•

수기 입력 항목을 항공·숙소는 1개(파일 업로드), 지출은 3개의 선택 폼으로 대폭 줄였으며, 바우처 파싱 정확도 95% 및 다구간 일정 등록 시간 80% 단축, 다국어 지출 영수증 자동 추출로 가계부 수기 입력 공수를 90% 이상 절감했습니다.

사용 기술
•

Azure Container App, Azure AI Document Intelligence (OCR), Next.js, React Native, Expo

저스트트립 기획 및 프론트엔드 개발.
2026.03 - 2026.08
문제 정의
•

저스트트립은 AI 기반의 개인 맞춤형 여행 일정 및 기록 서비스입니다. 처음 앱을 기획하고 구현하면서 단순 여행 앱에 대한 구성을 넘어, 다구간 일정, 지도 경로, 실시간 가계부 등 여러 도메인이 복잡하게 얽혀 있기 때문에, 화면 간 빈번한 데이터 변경과 중복 API 호출이 발생합니다. 또한, 비행기 탑승(오프라인 모드)이나 해외 현지 로밍 음영 지역에서 네트워크가 두절되어 항공권·숙소 바우처나 일정을 확인하지 못하는 문제에 집중 했습니다.

해결 과정
•

서버 상태는 React Query로 캐싱하여 중복 API 요청을 원천 차단하고, 클라이언트 UI 상태는 Redux Toolkit으로 일원화했습니다. 특히 완전한 오프라인 여행 환경을 위해 데이터를 두 계층으로 분리한 캐싱을 구축했습니다. 가벼운 텍스트 테스트 데이터는 Redux Persist와 AsyncStorage로 로컬에 영구 저장 했습니다. 반면 용량이 수 MB에 달하는 PDF 바우처와 예약증 이미지는 스토리지 용량 한계와 직렬화 오버헤드가 있는 일반 스토리지 대신, IndexedDB를 활용해 사전에 바이너리(Blob) 형태로 오프라인 다운로드 및 캐싱하도록 설계했습니다.

성과
•

비행기 모드나 해외 오프라인 환경에서도 대용량 PDF 바우처와 전체 일정을 100% 끊김 없이 즉시 열람할 수 있는 완전한 오프라인 신뢰성을 확보했습니다. 또한 React Query 캐싱으로 불필요한 네트워크 중복 호출을 제거하고, 낙관적 UI와 Undo 복구 인터랙션을 결합하여 오프라인과 온라인을 완벽히 아우르는 고품질 크로스플랫폼 여행 서비스를 성공적으로 출시했습니다.

사용 기술
•

Next.js, React Native (Expo), TypeScript, React Query, Redux Toolkit, Redux Persist, IndexedDB, AsyncStorage

라이더타운.

공동창업자 / 풀스택 개발자

2022.11 - 2025.03 (2년 5개월)
라이더타운 V2
라이더타운 V1
라이더타운 V2 - 인프라 파이어베이스 전환.
2024.09 - 2024.12
문제 정의
•

서비스 피벗 이후 기존 정비 예약 서비스를 완전히 종료하기로 결정하면서, 기존의 복잡한 MSA 구조를 유지하기 위한 24시간 상시 AWS EC2, RDS, VPC, S3, API Gateway 등 고정 비용이 큰 부담이 되었습니다. 또한 라이딩 기록과 음성 채팅 서비스 운영 시, 모바일 화면이 꺼지거나 백그라운드로 전환될 때 웹소켓 연결이 끊겨 주행 데이터가 유실되거나 단절되는 문제를 해결해야 했습니다.

해결 과정
•

MSA를 단일 모놀리식 서버로 합치는 방법도 검토했으나, 여전히 상시 서버 유지비가 발생하고 모바일 백그라운드 웹소켓 유실 문제를 해결하기 어려웠습니다. 또한 기존 정비 서비스는 바이크, 정비소, 예약, 결제 정보 등 여러 테이블의 복잡한 조인 구조가 필수적이었던 반면, 피벗한 라이딩 서비스는 유저와 크루 중심의 데이터 구조여서 관계형 데이터베이스를 유지할 필요성이 크게 낮아졌습니다. 이에 24시간 고정 서버 비용을 제거하고 오프라인·백그라운드 동기화를 지원하는 Firebase 완전 서버리스 아키텍처로 전면 전환을 단행했습니다. MySQL 스키마를 Firestore NoSQL 문서 구조로 비정규화하여 쿼리 비용을 최소화하고, Realtime Database는 앱이 백그라운드 환경에서도 잘 작동하고, onDisconnect 이벤트를 제공해서 앱이 백그라운드에 진입하거나 통신이 끊겨도 데이터가 유실되지 않는 실시간 파이프라인을 구축했습니다.

성과
•

고정 서버 비용을 90% 이상 절감했습니다. 또한, 네트워크가 불안정한 라이딩 환경과 백그라운드 환경에서도 데이터 정합성을 안정적으로 보장했습니다.

사용 기술
•

GCP, Firebase (Firestore, Cloud Functions, Auth, Realtime Database), NoSQL

라이더타운 V2 - 라이딩 서비스 전환 · 개선.
2024.06 - 2024.09
문제 정의
•

유저 행동 데이터 분석 결과 정비 예약 대비 실시간 라이딩 기록과 크루 위치 공유 기능에서 10배 이상 높은 리텐션이 발생하는 것을 확인하고 서비스 방향 전환을 결정했습니다. 그러나 기존의 1초마다 단순 위경도 객체({latitude, longitude})를 통째로 쏘아 올리는 방식은 장거리 주행 시 수천 개의 좌표가 누적되어 네트워크 대역폭 낭비와 극심한 배터리 소모 및 기기 발열을 유발했습니다.

해결 과정
•

앱 실행 시 정비보다 실시간 라이딩과 지도가 최우선으로 노출되도록 앱 메인 UI/UX를 라이딩 중심으로 전면 개편했습니다. 또한 주행 속도에 따른 통신 주기 설정, 15초 이상 정지 시 30초 하트비트로 전환, 속도 구간별 적응형 거리 샘플링(20m/40m/60m) 데이터 전송 방식을 비효율적인 JSON 좌표 객체 나열에서 수천 개의 주행 좌표를 단 하나의 고밀도 압축 문자열로 변환하는 encodePolyline 방식으로 전면 전환하고, 실시간 경로 전송에 최소 4초 스로틀링을 적용해 통신 효율을 극대화했습니다

성과
•

실시간 위치 경로 전송에 소모되는 데이터 전송을 70% 이상 절감하고 장거리 주행 시 스마트폰 발열과 배터리 소모를 획기적으로 개선하여, 라이더들이 주행 중 안심하고 켜둘 수 있는 핵심 서비스로 개선 했습니다.

사용 기술
•

Node.js, WebSocket, React Native, Geolocation API, Redux

라이더타운 V1 - 그룹 실시간 음성/영상 스트리밍 통화 개발.
2023.11 - 2023.12
문제 정의
•

WebRTC를 이용한 실시간 음성채팅 기능을 도입 후, N명 통화 시 클라이언트당 (N-1)개의 업로드 스트림이 발생하여 사용자 한명당 2 × (N - 1) 만큼 모바일 네트워크 대역폭을 사용하게되어 3~4인 이상 접속 시 심각한 오디오 끊김과 기기 발열이 발생했습니다.

해결 과정
•

서버가 재인코딩 없이 RTP 패킷을 라우팅하는 Mediasoup v3 기반 SFU 파이프라인을 구축했습니다. 이를 통해 참여자가 늘어나도 각 단말의 업로드 스트림을 단 1개로 고정하고 다운로드만 (N - 1)개로 유지하여, 사용자당 총 스트림 수를 2 × (N - 1)개에서 N개로 대폭 축소했습니다. 또한 웹소켓 기반의 음성 채팅방 세션 관리 시스템을 설계하여 방 입장·퇴장 상태를 제어하고, 네트워크 비정상 단절 시 미디어 라우터와 소켓 리소스를 자동으로 안전하게 회수하도록 구현했습니다.

성과
•

참여자 수에 비례하여 증가하던 클라이언트당 업로드 스트림을 1개로 고정함으로써, 4명 그룹 통화 기준으로 모바일 업로드 대역폭 소모량을 약 80% 절감하고 고품질·무지연 음성 통화 품질을 안정적으로 유지할 수 있었습니다.

사용 기술
•

Node.js, WebSocket, Mediasoup v3, Express, WebRTC

라이더타운 V1 - 라이딩 기록 서비스 개발.
2023.09 - 2023.11
문제 정의
•

종합 라이더 플랫폼으로 도약하고자 라이딩 크루, 커뮤니티, 중고 거래 등 사용자의 지속적인 재방문을 이끌기 위해 다양한 기능을 추가했습니다. 그 과정에서 자신의 주행 기록을 남기는 실시간 라이딩 기록과 함께 달리는 동료들의 기록을 확인하는 크루 기록 동기화 기능을 추가하게 되었습니다.

해결 과정
•

모바일 단말의 위치 정보를 기반으로 useMemo를 활용한 데이터 연산 최적화를 거쳐 주행 속도, 이동 거리, 고도, 최고 속도를 정밀하게 산출했습니다. 특히 자이로스코프 센서 데이터를 각도 단위로 변환해 바이크가 코너를 돌 때 기울어지는 뱅킹각과 최대 뱅킹각을 실시간 측정하여 기록하도록 구현했습니다. 나아가 이 개인 주행 데이터를 웹소켓을 통해 1초 주기로 양방향 스트리밍하여 같은 크루원들의 주행 상태를 실시간으로 확인할 수 있도록 구현했습니다.

성과
•

라이딩 기록과 크루 간 실시간 기록 동기화를 제공하여 라이더들의 큰 호응을 얻었으며, 주행 중 상시 켜두는 킬러 기능으로 자리 잡아 유저 재방문율과 커뮤니티 체류 시간을 획기적으로 견인했습니다.

사용 기술
•

React Native, Node.js, WebSocket, Geolocation API, Gyroscope Sensor, Redux

라이더타운 V1 - 정비 예약 시스템 보완.
2023.08 - 2023.08
문제 정의
•

주말이나 특정 인기 시간대에 여러 라이더가 동일한 정비 슬롯에 동시 예약을 시도하면서 충돌이 발생했습니다. 특히 사용자가 외부 결제창으로 넘어가 승인을 진행하는 수십 초 동안 해당 시간대를 안전하게 선점해 두지 못해, 먼저 결제한 사용자와 뒤이어 결제한 사용자 간에 중복 예약과 결제 취소 및 환불 문제가 발생하는 한계가 있었습니다.

해결 과정
•

선택 상태를 실시간으로 공유하기 위해 웹소켓 도입을 검토하기도 했으나, 사용자가 결제를 위해 카드사나 은행 앱으로 전환할 때 앱이 백그라운드 상태로 들어가면서 웹소켓 연결이 끊어지는 치명적인 문제가 있었습니다. 이에 네트워크 상태와 무관하게 데이터 무결성을 보장할 수 있도록 Redis 기반으로 구현했습니다. 결제 진입 시 슬롯에 원자적으로 유효시간 5분의 임시 선점 락을 걸고, 결제 승인 결과에 따라 최종 확정되거나 이탈 시 자동 롤백되도록 설계했습니다.

성과
•

트래픽 집중 상황에서도 중복 예약 0% 및 결제 트랜잭션 정합성 100%를 달성하여 서비스 신뢰도를 확보했습니다.

사용 기술
•

Java, Spring Boot, Redis, MySQL

라이더타운 V1 - Next.js 전환.
2023.06 - 2023.08
문제 정의
•

React Native 앱을 직접 다 만들기에는 인력과 시간이 부족했고 유지보수의 편의성 때문에, 웹뷰 환경으로 서비스를 제공하기로 결정 했습니다. 기존 React SPA 환경에서 단일 JS 번들 크기가 2.5MB를 초과하여, 모바일 웹뷰 첫 진입 시 3.5초 이상의 로딩 지연과 화이트스크린이 발생했고, 이로 인해 첫 화면 로딩 시 유저 경험이 너무 느리고 유저 이탈률이 증가하는 문제 있었습니다.

해결 과정
•

초기에는 Next.js에 대해 알지 못해서, React 번들 사이즈를 줄이기 위해 무거운 라이브러리 최적화, dynamic import 코드 분할, 화면에서 이동 가능한 페이지들의 웹뷰를 미리 백그라운드에 띄워두는 프리로딩까지 다양한 방법을 시도했으나, 로딩 시간을 크게 개선하지 못했고, 모바일 기기의 메모리 점유와 오버헤드가 심각했습니다. 이후 기술 탐색을 통해 Next.js를 학습하고, 서버 사이드 렌더링을 도입하는 전면 마이그레이션을 단행하여 불필요한 초기 번들 다운로드를 효과적으로 개선했습니다.

성과
•

초기 JS 번들 크기를 2.5MB에서 550KB로 약 78% 절감하고, 첫 화면의 렌더링 시간을 3.5초에서 0.8초로 약 77% 단축하여 웹뷰 진입 시 화이트스크린을 해소하고 쾌적한 네이티브급 사용성을 확보했습니다.

사용 기술
•

React, Next.js, React Native Webview

라이더타운 V1 - 초기 구축.
2022.11 - 2023.06
문제 정의
•

직접 오토바이를 타면서 불투명한 정비 견적과 바가지 문제를 겪었고, 네이버 대표 카페에도 관련 글이 많았습니다. 또한 라이딩 크루에 참가하여 여론을 조사했고, 잠수교 현장에서 라이더 100명을 대상으로 대면 설문조사를 진행했습니다. 이에 정비 시장에 대한 부정 응답이 74%로 높았고, 오토바이 시장은 작지만 꾸준히 성장 중이었으며, 정비 시장을 투명하게 바꾸는 플랫폼에 대한 시장 수요를 확인했습니다. 이에 따라서 오토바이 정비 예약 플랫폼을 출시하고자 했습니다.

해결 과정
•

사업 비전으로 영업 담당과 백엔드 개발자를 설득해 3인 팀으로 공동 창업을 했습니다. 프론트엔드 개발을 독학하여 전담하는 것에 그치지 않고, 시스템 전체 아키텍처와 서비스 작동의 전 과정을 완전히 이해하고자 백엔드(Java/Spring Boot)까지 직접 배워 함께 개발했습니다.

성과
•

웹과 모바일 앱 프론트엔드부터 백엔드 API, 클라우드 인프라까지 전 영역을 주도적으로 구축하여 라이더타운 V1 서비스 공식 출시를 완수했습니다.

사용 기술
•

React, React Native, Next.js, TypeScript, Redux, React-query, Java, Spring Boot, MySQL, Redis, AWS (EC2 · RDS · S3), Docker

AI Experience.

Document AI & Data Pipeline
Document AI
2026.08 - 2026.09
바우처 및 영수증 지능형 자동 파싱

Azure Container App & Azure Document Intelligence 기반 데이터 파이프라인 구축

문제 정의
•

저스트트립 서비스의 여행 중 항공·숙소의 일정 관리와 지출 관리를 위해서는 항공 10개 항목, 숙소 6개 항목, 지출 10개 항목을 수기로 입력해야 하는 번거로움과 입력 오류 문제가 있었습니다. 구글 place API를 사용해서 항공 8개, 숙소 5개, 지출 8개 항목으로 줄였으나 여전히 수기 입력이 번거롭고, 영어 및 현지 언어로 작성된 바우처 PDF나 영수증을 보고 작성하는것은 불편함이 있었습니다.

해결 과정
•

Azure Container App을 연동하여 PDF 바우처와 영수증 이미지를 실시간 분석하는 데이터 파이프라인을 구축하고, 사전 학습된 영수증 모델을 통해 결제 일시, 다국어 통화, 품목별 금액, 체크인 일정을 정형 JSON 데이터로 자동 추출하여 일정 및 가계부에 자동 등록되도록 구현했습니다.

성과
•

항공 숙소의 경우 입력해야 하는 항목이 1개로 줄었으며, 지출의 경우에도 3개의 선택 폼으로 줄었습니다. 항공·숙소 예약 바우처 파싱 정확도 95% 달성 및 다구간 일정 등록 시간 80% 단축, 다국어 지출 영수증 인식 정확도 92% 확보를 통해 가계부 수기 입력 공수를 90% 이상 절감했습니다.

사용 기술
•

Azure Container App, Azure AI Document Intelligence

Computer Vision & Synthetic Dataset
Vision AI
2026.04 - 2026.05
합성 데이터셋 구축 및 YOLOv8 객체 인식 모델 학습

50,000장 합성 데이터셋 파이프라인 자체 생성 및 실시간 객체 탐지 파인튜닝

문제 정의
•

초기에는 사냥 영상을 직접 캡처하여 수동 라벨링을 진행했으나, 방대한 인게임 맵과 다양한 몬스터 스프라이트, 지형지물 변수에 대응하기에는 데이터 수집 비용과 확장성에 한계가 있었습니다.

해결 과정
•

게임 WZ 데이터 파일에서 맵 배경과 몬스터 스프라이트를 직접 추출하여 위치·크기·배경을 무작위 조합하는 50,000장 규모의 대규모 합성 데이터셋 자동 생성 파이프라인을 구축하고, 게임의 각 대륙별 YOLOv8 모델 파인튜닝을 수행했습니다.

성과
•

수작업 라벨링 없이도 다양한 인게임 배경과 몬스터 객체를 실시간 화면에서 정확히 탐지하는 모델을 완성하였으며, 비전 AI 모델 학습 및 데이터 파이프라인 전 과정을 깊이 있게 경험했습니다.

사용 기술
•

Python, YOLOv8, PyTorch, OpenCV, Data Augmentation, Synthetic Dataset

LLM & Conversational Agents
Assistant Agent
2026.09 - 현재
이력서 대화형 AI 어시스턴트

RAG 지식 베이스 주입 및 프롬프트 엔지니어링 기반 실시간 응답 어시스턴트

문제 정의
•

정적인 텍스트 이력서는 분량의 한계로 인해 채용 담당자나 면접관이 특정 기술 역량이나 프로젝트 세부 경험을 즉각적으로 파악하기 어렵고, 능동적인 정보 탐색을 지원하지 못하는 한계가 있었습니다.

해결 과정
•

프로젝트 트러블슈팅, 기술 스택, 개발 철학 등을 정형화한 지식 베이스를 구축하고, 프롬프트 엔지니어링과 동적 컨텍스트 주입을 적용하여 질문자의 의도에 맞춰 실시간으로 정확한 근거와 경험을 답변하는 AI 어시스턴트를 개발했습니다.

성과
•

기술 도입 배경, 문제 해결 과정 등, 방문자의 질문을 문맥 기반으로 정확히 분석하여 관련 프로젝트와 기술적 판단 근거를 실시간으로 제시함으로써, 일방향 텍스트 이력서를 양방향 대화형 탐색 경험을 제공하게 되었습니다.

사용 기술
•

Gemini API, RAG Context Injection, Prompt Engineering

LLM & Conversational Agents
Healthcare AI
2026.03 - 2026.04
비타 (Vita) - AI 개인화 영양제 추천 엔진

건강 설문 구조화 및 LLM 기반 영양 성분 실시간 분석·추천

문제 정의
•

수많은 영양제 성분과 광고 속에서 개인의 신체 상태와 생활 습관에 꼭 맞는 성분을 찾기 어렵고, 영양제 간 중복 과다 복용이나 상호작용과 부작용을 일반인이 직접 검증하기 힘든 문제가 있었습니다.

해결 과정
•

BMI 및 라이프스타일 설문 데이터를 구조화하여 영양소 스코어링과 금기 성분 배제 룰셋을 설계하고, LLM 프롬프트 엔지니어링을 결합하여 복용 중인 영양제 간 궁합과 맞춤 성분을 실시간으로 분석·추천하는 파이프라인을 구축했습니다.

성과
•

LLM을 이용해서, 개별 사용자 맞춤형 영양제 분석 리포트를 10초 이내에 안정적으로 생성하고, 설문 기반 맞춤 영양제 분석 및 복용 캘린더 루틴 관리 기능을 완성하여 웹과 크로스플랫폼 모바일 앱으로 안정적으로 서비스했습니다.

사용 기술
•

OpenAI API, Prompt Engineering

LLM & Conversational Agents
Mental Care AI
2025.09 - 2025.10
HappyWhale - 감성 맞춤형 AI 데일리 알림

사용자의 감정에 맞춘 실시간 공감·동기부여 메시지 생성

문제 정의
•

단순 정보 전달에 그치는 일반 알림과 달리, 생성형 AI를 활용해 사용자의 복합적인 감정 상태와 상황에 맞춰 진심 어린 위로와 동기부여를 건네는 알람을 구현하고자 했습니다.

해결 과정
•

정서적 공감을 이끌어내는 프롬프트 템플릿 설계와 세밀한 파라미터 튜닝을 통해 상투적이지 않은 자연스러운 문장을 유도하고, 사용자의 감정에 맞춘 메시지를 LLM으로 실시간 생성하여 전달하는 감성 케어 AI 시스템을 구축했습니다.

성과
•

개인 맞춤형 LLM 감성 메시지를 안정적으로 서비스하여 1,300여 명의 유저에게 긍정적인 감정 케어 경험을 제공 할 수 있었습니다.

사용 기술
•

OpenAI API, Prompt Engineering

Other Experience.

라이더타운.

공동 창업 & 현장 영업

2022.11 - 2024.03
정비소 입점 영업.
2023.06 - 2023.08
문제 정의
•

라이더타운 v1은 오토바이 정비 견적과 예약에 특화된 플랫폼으로, 해당 플랫폼을 구현하기 위해서는 오토바이 정비소 영업이 필수적이었습니다. 초기 자본과 인지도가 전무한 상태에서 어떻게 오토바이 정비소를 입점시킬 수 있을지 고민했습니다.

해결 과정
•

개발 완료 직후 정비소에 전화를 돌려 서비스를 소개하고 방문 약속을 잡은 뒤, 직접 사업제안서를 출력하여 동업자와 함께 전국 오토바이 정비소를 직접 방문하며 서비스 소개 및 설득의 과정을 거쳐서 적극적인 소통으로 정비소와의 신뢰를 구축하고 파트너십을 확보했습니다.

성과
•

제주 지역을 제외한 전국 41곳의 고성능 모터사이클 정비소 입점에 성공하였습니다. 또한 정비소 대표님들의 이야기를 들어보면서 어떤 니즈를 가지고 있는지 파악하고, 거기에 맞춰서 서비스를 개선하는 과정을 거쳤습니다. 이 과정에서 개발자로서 타 직군 및 현장 실무자와 효과적으로 소통하는 법을 깊이 체득했습니다.

초기 라이더 유저 획득.
2023.06 - 2023.08
문제 정의
•

초기 마케팅 집행 비용이 전혀 없는 상태에서 라이더 유저 확보가 필요했습니다. 초기 유저 없이는 정비소 입점의 의미도 퇴색되는 상황이었습니다.

해결 과정
•

명함에 앱 다운로드 QR 코드를 인쇄한 뒤 잠수교 주차장, 라이더 카페 등 오토바이 라이더 밀집 현장으로 직접 나가 1:1로 서비스를 소개하고, 라이더 카페 내에 홍보 포스터 부착를 부착하고 플랫폼에 카페를 소개하는 방식으로 제휴 했습니다.

성과
•

적은 마케팅 비용으로 초기 라이더 유저를 확보할 수 있었으며, 이를 통해 실제 시장 피드백을 수집하고 예비창업패키지 및 청년창업사관학교 지원사업 유치의 핵심 근거를 마련했습니다.

Award.

중소벤처기업진흥공단.
2024.03 - 2024.11
청년창업사관학교 (창업성공패키지).
•

오토바이 라이딩 DB를 통한 소모품 관리 및 정비 플랫폼 [1억 원 규모]

창업진흥원.
2023.05 - 2023.12
예비창업패키지.
•

오토바이 정비 견적 서비스 및 커뮤니티 플랫폼 [4,000만 원 규모]

Skills.

Overall.
•

깔끔한 유저 인터페이스와 애니메이션 구현을 선호합니다.

•

상황에 따라 최신의 기술보다는 적절한 기술을 사용하려고 합니다. 물론 최신 기술에 대해서도 꾸준히 관심을 갖고 있습니다.

•

업무에 필요하다면 능숙한 분야가 아니더라도 적극적으로 탐색하여 최적의 결과를 낼 수 있도록 노력합니다.

Communication.
•

아이디어나 개선점에 대해 적극적으로 생각을 표현합니다.

•

모르는 부분이 생겼을때, 어떤 부분을 정확히 모르는지 파악하고 질문합니다.

•

항상 말하기보다 듣는 것을 우선으로 하려고 합니다.

JavaScript.
•

JavaScript와 TypeScript에 능숙합니다.

•

CommonJS, ES Modules의 모듈 시스템에 대해서 이해하고 적절한 도구를 활용합니다.

•

타입 정의와 인터페이스를 통해 모듈 및 컴포넌트 간의 데이터 규격을 설정하여, 개발 생산성과 코드 유지보수성을 높입니다.

React / Next.js.
•

React Hooks 및 커스텀 훅을 능숙하게 활용하여 공통 비즈니스 로직을 모듈화하고 재사용 가능한 컴포넌트를 설계합니다.

•

Next.js 환경에서 SSR, SSG, ISR 등 프로젝트 요구사항에 맞춘 최적의 렌더링 전략과 SEO를 구축할 수 있습니다.

•

Redux, React Query 등을 활용한 서버 상태 및 전역 상태 관리, 데이터 캐싱 전략을 효과적으로 설계합니다.

•

Core Web Vitals 기반의 성능 개선과 코드 스플리팅을 통한 번들 최적화 경험이 있습니다.

React Native / Expo.
•

React Native와 Expo를 활용하여 iOS 및 Android 크로스 플랫폼 모바일 애플리케이션을 기획부터 스토어 출시까지 완수할 수 있습니다.

•

실시간 GPS 위치 추적, 백그라운드 태스크, 카메라, 푸시 알림 등 네이티브 디바이스 기능을 원활히 연동할 수 있습니다.

•

플랫폼별 UI/UX 특성을 고려한 반응형 레이아웃과 부드러운 제스처 및 애니메이션 인터랙션을 구현합니다.

•

CodePush와 EAS(Expo Application Services)를 활용한 빌드·배포 파이프라인 구축 및 App Store, Google Play 심사·출시 경험이 풍부합니다.

Java / Spring.
•

Java와 Spring Boot 기반의 객체지향적인 RESTful API 서버를 설계하고 구축할 수 있습니다.

•

Spring Data JPA 및 MySQL 기반의 데이터 모델링과 트랜잭션 관리, 쿼리 최적화 경험이 있습니다.

•

Redis 분산 락(Distributed Lock)을 활용해 원자적 슬롯 선점 로직 등 동시성 제어 및 데이터 무결성을 보장한 경험이 있습니다.

•

RabbitMQ를 활용하여 비동기 메시지 큐 기반의 이벤트 처리 및 시스템 부하 분산, 서비스 간 결합도 완화를 구축한 경험이 있습니다.

DevOps.
•

Docker 컨테이너화를 통해 개발 및 배포 환경을 표준화하고 효율적으로 격리·운영할 수 있습니다.

•

AWS EC2, RDS, S3, CloudFront 등을 연동하여 안정적이고 확장 가능한 클라우드 인프라를 직접 설계·구축 및 운영할 수 있습니다.

•

GitHub Actions 등의 CI/CD 파이프라인을 구축하여 빌드 및 배포 자동화 환경을 구성할 수 있습니다.

Education.

광운대학교.
2018.03 - 2026.08
•

전자공학과 학사 졸업

산본고등학교.
2013.03 - 2016.02
•

자연계열 졸업

월간강민재.

대용량 파일 공유.
2026년 8월
개발 동기
•

어머니께서 배드민턴 대회 동영상을 촬영해 오실 때마다 영상 용량이 너무 커서 메신저나 메일로 보내기가 어려워 저에게 동영상을 편집하거나 용량을 낮춰서 보내달라고 부탁하셨습니다. 파일 공유 드라이브를 사용하기 어려워 하셔서 도움을 드리고자 만들게 되었습니다. 절대 부탁하시는게 귀찮아서가 아닙니다.

해결 과정
•

복잡한 클라우드 드라이브 대신 드래그 앤 드롭과 원클릭 링크 생성을 지원하고, 네트워크 중단 방지 업로드 파이프라인과 카카오톡·네이버 인앱 브라우저 우회 다운로드 시스템을 구축해 모바일에서도 원본 영상을 손쉽게 내려받을 수 있도록 구현했습니다.

사용 기술
•

React, Next.js, Firebase (Storage · Firestore)

영차영차영단어.
2026년 7월
개발 동기
•

고3 수험생 동생이 있습니다. 평소에 영어를 어려워하며, 공부하기도 싫어하는 것처럼 보여서, 공부에 대해 강요하기보다는 좋은 방식으로 동기부여를 해주고 싶어서 제작했습니다.

해결 과정
•

수능 필수 5,000단어에 대해 Gemini API로 기출 맞춤형 예문과 번역을 자동 생성하는 데이터 파이프라인을 구축하고, 플래시카드 스와이프 인터랙션과 망각 곡선 기반 자동 오답 복습 시스템, TTS 발음 재생을 결합해 수험생 맞춤형 무료 영단어 학습 앱을 완성했습니다.

사용 기술
•

React Native, Expo, TypeScript, Redux Toolkit, Expo Speech, Gemini API, Firebase

옛날 메이플 YOLO 모델 학습.
2026년 04월
개발 동기
•

동생이 즐겨하는 게임의 지루한 반복 사냥을 돕고, 비전 AI 및 컴퓨터 비전 객체 탐지 모델 학습 파이프라인을 직접 연구·공부하고자 개발하게 되었습니다.

해결 과정
•

초기에는 3분 정도의 사냥 영상을 200개의 사진으로 캡쳐해서, 수동 라벨링 작업을 통해 학습을 시켰습니다. 이후, 모든 맵과 몬스터에 대응하기 위해서 게임의 WZ 파일에서 맵과 몬스터 스프라이트를 추출해 50,000장의 합성 데이터셋을 생성하고 YOLOv8 모델을 3주정도 컴퓨터를 켜두며 학습시키던 와중에, 10년된 컴퓨터가 고장났습니다. 동생도 게임을 못하게 됐습니다.

사용 기술
•

Python, YOLOv8, PyTorch, OpenCV

비타.
2026년 3월
개발 동기
•

비타민C 메가도스에 대해 우연히 알게 되었습니다. 이전까지 평생 환절기마다 감기에 걸렸는데, 속는 셈 치고 메가도스를 시작하게 되었습니다. 이에 영양제에 대한 관심도 많아 찾아보다가, 시중의 영양제는 종류가 너무 복잡하고 많아서, 직접 솔루션을 만들고자 했습니다.

해결 과정
•

건강 설문 응답을 기반으로 한 영양소 스코어링 및 금기 성분 필터링 엔진을 설계하고, 영양제 간 궁합을 실시간 분석하는 기능과 일별 복용 체크 캘린더·알림 시스템을 완성해 웹과 크로스플랫폼 앱으로 출시했습니다.

사용 기술
•

React Native, Expo, React, Next.js, TypeScript, Redux Toolkit, Notifee, Firebase, OpenAI API

가위바위보.
2026년 2월
개발 동기
•

전 세계 사람들과 토너먼트 대결을 펼치고 리워드를 얻을 수 있는 글로벌 캐주얼 게임을 만들고자 기획하였습니다. 그러나 학교와 하던 프로젝트가 너무 바빠서, 이러다가는 영영 출시하지 못할 것 같아서 일단 기본 가위바위보 게임만 출시해서 냈습니다.

해결 과정
•

Firebase Realtime Database의 runTransaction을 활용해 동시 베팅 시 레이스 컨디션을 방지하고 onDisconnect로 비정상 이탈 시 자동 몰수패 판정 및 게임 방 정리를 구현했으며, 가로 모드 아케이드 UI에 사운드·햅틱 피드백과 글로벌 7개국 다국어, 인앱 결제를 적용해 양대 마켓에 출시했습니다.

사용 기술
•

React Native, Expo, TypeScript, Firebase (Realtime Database · Firestore), Expo Audio & Haptics, Expo IAP

포메이션 메이커.
2026년 01월
개발 동기
•

매주 조기축구 경기에 나갈 때마다 운영진이 단톡방에 수기로 복잡하게 출전 명단과 포메이션을 공지하는 번거로움을 보고, 누구나 시각적으로 쉽게 전술을 짜고 공유할 수 있는 도구가 필요하여 기획하게 되었습니다.

해결 과정
•

Framer Motion을 활용해 화면 크기에 구애받지 않도록 0~100% 상대 좌표 기반의 선수 드래그 앤 드롭 포메이션을 구축하고, 4-3-3 / 4-4-2 등 주요 포메이션 전환, 팀 선수단 매핑 및 Firestore 실시간 동기화와 원클릭 링크 공유 기능을 구현했습니다.

사용 기술
•

React, Next.js, TypeScript, Framer Motion, MUI, Firebase (Cloud Firestore)

HappyWhale.
2025년 9월
개발 동기
•

이 시기에 힘든 일이 있었는데 토스에서 오던 알림을 보고, 단순 정보 전달 목적의 알림 대신 지친 마음을 위로해 주는 감정 케어 알림이 필요하다는 생각이 들었습니다.

해결 과정
•

Cloud Run 기반 AI 메시지 생성 파이프라인을 구축하고, Swift로 iOS Notification Service Extension을 직접 구현하여 메신저 형태의 프로필 아바타 리치 푸시 알림을 제공하며 Notifee 및 FCM 기반 정밀 스케줄링 시스템을 구현했습니다.

사용 기술
•

React Native, Expo, TypeScript, Swift (iOS Notification Extension), Notifee, Firebase (FCM · Firestore), OpenAI AI

BaseKana.
2025년 4월
개발 동기
•

여동생에게 진격의 거인을 추천하고 같이 보다가, 다시 다 보게 되었습니다. 진격의 거인은 최고의 명작입니다. 그리고 친구들과의 일본 여행에 좋은 추억이 있고, 일본 현지에 계신 이모, 이모부와 소통하고 싶은 마음에 기초 일본어를 즐겁게 독학하고자 기획하였습니다.

해결 과정
•

SVG 기반 히라가나·가타카나 인터랙티브 획순 가이드와 원어민 TTS 음성 재생, 제스처 기반 플래시카드 스와이프 및 4지선다 퀴즈를 통한 단계별 기초 문자 학습 루프를 구현했습니다.

사용 기술
•

React Native, Expo, TypeScript, Redux Toolkit, React Native SVG, Expo Speech

모자이크 메세지.
2024년 12월
개발 동기
•

여자친구와 다투고 난 뒤 서먹한 상황에서 장난스럽게 분위기를 전환하기 위해 사진과 메시지를 가려두고 스크래치로 지워가며 호기심을 유발하는 소통 방식을 고안하게 되었습니다.

해결 과정
•

HTML5 Canvas 및 Konva 기반으로 사용자가 그린 그림의 좌표, 시간, 굵기를 화면 비를 고려하여 상대 좌표로 정규화하여 저장하고, 캔버스 모자이크 생성 및 모자이크가 80% 이상 지워졌을때 손글씨 드로잉 모션을 실시간 재생하는 방식으로 구현했습니다.

사용 기술
•

React, Next.js, TypeScript, Konva (HTML5 Canvas), Firebase (Firestore · Storage)