[go: up one dir, main page]

이동주Dongjoo Lee

Software Engineer

중학교 2학년 때 첫 안드로이드 앱을 출시하며, 구상한 서비스를 직접 구현해내는 감동 하나만 믿고 컴퓨터공학과에 진학하였습니다. 회사와 군, 창업이라는 서로 다른 환경에서 복잡한 도메인의 소프트웨어를 설계하고 만들며 비즈니스를 이해하고 상황에 맞는 기술을 고르는 엔지니어로 성장하고 있습니다.

만드는 제품

기독교 공동체 운영 SaaS

가입자 10,000명 · MAU 2,300명 · 월 매출 00만 원

React Native · NestJS/Redis · MySQL/Prisma

  • React Native 기반 iOS·Android 앱과 웹을 기획·디자인·개발 운영중
  • NestJS·GraphQL·Prisma/MySQL 서버를 직접 구축하고, GitHub Actions CI/CD와 OTA 업데이트로 앱·웹 배포 자동화
  • Redis 큐로 푸시 알림·이미지 프로세싱·API 호출 같은 무거운 작업을 분리하고, AWS(S3·CloudFront)와 Sentry로 성능·오류 관리
  • Docker 컨테이너 다중화와 Nginx upstream 설정으로 동시접속자 100명 수용
  • 카카오톡 채널과 유저 모임 오픈채팅방에서 받은 실제 사용자 피드백으로 기능과 사용자 경험 개선

진료 녹음·처방전 분석 서비스

예비창업패키지 2,000만 원 · SNU BIG SCALE-UP 2,000만 원 유치

React Native · Electron · NestJS/Redis · MySQL/Prisma

  • 제품 기획, UI/UX 설계, 앱 개발, 서버 인프라를 맡아 iOS·Android 앱을 앱스토어에 출시
  • NestJS·Prisma·MySQL API와 Redis/BullMQ 비동기 워커 설계
  • 진료 녹음 STT·LLM 구조화 요약, 처방전 OCR·의약품 Vector Embedding 검색 매칭 구현
  • AWS(EC2·S3·CloudFront) 인프라와 GitHub Actions CI/CD, Sentry 모니터링 체계 구축
  • 의사용 실시간 SOAP 진료 차트 생성 데스크탑 앱(Electron)을 개발하여 일부 병원과 파일럿 테스트 중

경력

13,000개가 넘는 비상장 주식회사에서 이용하는, 국내 1위 주주 관리 서비스 ZUZU

React.js(TypeScript) · Django(Python) · RabbitMQ · Kubernetes/GKE

  • 결제새 결제수단을 붙이기 쉬운 독립 결제 모듈 설계 (신용카드·비대면 바우처)
  • 구독요금제별 권한 제어 로직을 최상위 레이어로 분리하여 비즈니스 로직을 침범하지 않게 설계, 1년간 요금제 개편 3번에 유연하게 대응
  • 알림단일 큐를 기능별로 분리하고 Late Acknowledgement를 적용하여 서버가 중단돼도 유실 없는 수신율 100% 이벤트 처리 인프라 구축
  • 배포CI/CD 효율화로 배포·테스트 시간 14분 → 2.5분 단축
  • 법무상법 기반 주식양수도계약서 자동 생성, 무상증자 법인 등기 제품 개발
  • 품질Storybook·React e2e 테스트 인프라 구축, 엔지니어 지식 공유 모임 Engineering Meeting 도입

공군교육사령부 교수학습혁신센터

React.js(TypeScript) · Electron

  • 군용 인트라넷 소프트웨어와 군용 장비 교육훈련 시뮬레이션 소프트웨어 개발
  • 초고가 훈련 장비를 처음 쓰는 교육생이 실제 장비 없이 조작 절차를 익히는 전술항법장비 Interactive Simulator를 설계·개발, 공군 최우수 교육훈련 소프트웨어로 선정
  • SVG Interaction과 HTML Canvas, SVG 최적화로 실제 장비 조작에 가까운 시각적·상호작용 경험 구현
  • 군 내 저성능 인트라넷 PC에서도 동작하도록 렌더링과 번들을 최적화하고, 초심자를 고려한 사용자 중심 UI 설계

수상

동상 (3위) · 26-1 서강 캡스톤디자인 경진대회 | 서강대학교 SW중심대학사업단

차에서 내리지 않아도 로봇팔이 충전 커넥터를 자동으로 연결하는 시스템에서 ACT 모방학습, 전용 앱 개발, 로봇팔–앱 블루투스 연동을 맡았습니다.

  • Teleoperation으로 만든 데이터로 자율 제어를 학습하고 Action Chunking으로 오차 누적을 억제하였습니다.
  • 3-Cam(Top·Wrist·Belly)과 관절 각도를 입력으로, 정상 주차·위치·각도 오차를 반영한 250개 에피소드로 Plug-in / Plug-out 모델을 학습하였습니다.
  • 충전 커넥터 연결을 지시하는 모바일 앱을 제작하고, 앱–ESP32 블루투스 모듈 간 연동을 수행하였습니다.

장려상 · 인기상 · 2025학년도 서강 융합기술 경진대회 | 서강대학교 SW중심대학사업단

4인 팀으로 참가하여 장려상을 받았고, 학우 인기 투표 1위로 인기상도 함께 수상하였습니다. STT·TTS·VAD로 음성 질의응답 인터페이스를 설계하고, 보드게임 메뉴얼을 ‘예상 질문: 답변’ 쌍으로 임베딩하여 RAG로 근거에 기반하여 답변하는 LLM 챗봇을 구현하였습니다.

금상 (1위) · 2023 현대모비스 모빌리티 SW 해커톤 | 현대모비스

자율주행 차량 카메라가 인식한 차량·보행자·신호등을 Node로, 객체 간 위치·상호작용 관계를 Edge로 표현하는 SceneGraph를 교통 관제 센터로 전달하는 구조를 제안하고, RabbitMQ 메시징과 Docker Swarm 오케스트레이션을 이용한 고용량 트래픽 통신 인프라를 구축하였습니다.

학력

HCI 리서치

  • 서울역 현장에서 외국인 사용자의 키오스크 이용 과정을 관찰하고 1:1 인터뷰를 통해 사용성 문제를 조사하였습니다.
  • 초기 가설을 배제한 1차 현장조사로 Task Flow, 언어 안내, Error Correction 불편을 식별하였습니다.
  • 1차 결과로 가설을 수정한 뒤 2차 현장조사에서 개선 방향과 설계 시사점을 도출하였습니다.
  • 정보 탐색, 언어 이해, 의사결정 흐름을 고려한 키오스크 UX 개선 방향을 제안하였습니다.
  • KGM 네이버 카페 사용자 50명을 대상으로 기존 UI와 개선안의 A/B 테스트를 진행하고, 2명과 후속 인터뷰를 하였습니다.
  • 개선안이 체감 편의를 유의미하게 높이지 못한 점을 확인하고, 사용자의 멘탈 모델과 초기 가설 사이의 차이를 분석하였습니다.
  • 정량적 선호도와 정성 인터뷰를 함께 써서 프로토타입 검증 과정의 한계와 후속 개선 방향을 정리하였습니다.

Art Projects

15+ · Fantasy · Drama

지난 24시간을 되감을 수 있는 데이브는 몇 년째 모든 실수와 어색한 대화를 고치며 “완벽하지만 반복되는 어제”에 갇혀 산다. 맑은 날 갑자기 쏟아진 비와 딸의 커다란 웃음처럼 수천 번을 되감아도 다시 만들 수 없는 순간을 마주한 그는 삶의 아름다움이 예측할 수 없음에 있다는 걸 깨닫고, 모래시계를 부수어 편집되지 않은 불완전한 현재를 받아들인다.

  • Scene 1광각 렌즈 · 아버지 눈높이 · 오버 더 숄더 샷. 흐릿한 아버지의 어깨 너머로 노란 우비를 입은 일곱 살 딸이 빗속에서 뛰노는 모습을 3분할 교차점에 두고, 늘어선 나무가 시선을 아버지 쪽으로 이끈다. 쏟아지는 폭우와 젖은 보도에 번지는 가로등 불빛으로 어둡고 우울한 분위기를 만들었다.

p5.js · Three.js

천장의 램프를 하나씩 켜보기도 하고, 화면을 좌우로 회전해본다. 마침내 세개의 램프가 모두 켜지고, 램프의 빛의 세기도 최대가 되고 나서야 중앙의 사물이 말차라떼임을 인식할 수 있다.

p5.js · WebGL

새로운 사람들을 알아가며 나도 상대방을 닮아가고, 또 인간관계가 늘어날 수록 기존의 관계들과 멀어지는 자신을 표현했다.

강의

AI 문제 해결

RAG 검색 품질 개선

보드게임 도우미

답변율 60% → 96%

  • 매뉴얼을 그대로 청킹하여 임베딩하였을 때 답변율은 60%이었고, 데이터셋을 늘려도 나아지지 않았습니다.
  • 원인을 데이터 부족이 아니라 구어체 질문과 문어체 매뉴얼 사이의 Semantic Gap으로 규정하였습니다.
  • 커뮤니티의 실제 질문·답변과 룰북 기반 예상 질문으로 ‘예상 질문: 답변’ 쌍 데이터셋을 만들고, 사용자 질문을 예상 질문과 비교하도록 바꾸었습니다.

처방전 약물 검색 매칭

오리슨

top-1 / top-3 회수율 비교로 BGE-M3 채택

  • 저화질이거나 일부만 찍힌 처방전이 많아 OCR 결과를 정답으로 쓰지 않고, 표준 약물 정보 DB를 벡터 인덱싱하여 유사도로 매칭하였습니다.
  • 목표 약품명의 OCR 오타 6종과 혼동하기 쉬운 약품 11종을 후보로 두고 임베딩 모델들을 비교하였습니다.
  • 발음만 비슷한 다른 약이 1위로 오르는 사례가 있어, 임베딩은 후보 생성에만 쓰고 문자열 매칭 유사도를 결합하여 최종 순위를 매깁니다.
  • 유사도가 60% 미만이면 자동 채택하지 않고 상위 후보 3개를 제시하여, 잘못 읽힌 약물명이 복약 안내로 나가지 않게 막았습니다.

진료 녹음 전사 파이프라인

오리슨
  • 화자별 발음 차이와 사투리 때문에 범용 STT만으로는 임상 기록에 쓸 전사 품질에 닿지 못하였습니다. 전사문을 LLM으로 후처리하여 의학용어 DB의 표준 용어로 매핑하되, 확신이 없는 구간은 [?]로 남겨 의사가 직접 고르게 하였습니다.
  • 전사·차트 오류를 원문–정답 쌍으로 라벨링하는 도구를 만들어 의료진 피드백 31건을 Golden Dataset으로 사용하였습니다.

비용과 권한을 통제하여 Agent 생산성 확보

  • 도메인별 컨텍스트를 문서로 최신화하여 세션마다 반복되던 코드 탐색을 없애고, 남은 탐색과 조사는 서브에이전트에 위임하여 메인 컨텍스트 오염을 막았습니다.
  • Agent에는 MCP로 최소한의 읽기 권한만 주고, 자격증명은 반드시 사람이 입력하도록 하여, Agent Context에서 분리하였습니다.
  • 빌드·테스트·시뮬레이터 검증을 하나의 Skill로 묶어, 에이전트가 결과를 스스로 확인한 뒤 보고하게 하였습니다.