PROJECT MANAGER
PM · 팀장
팀장
서비스 기획과 일정 · 역할 분담을 이끌고, 공모전 대응(조달청 대상 수상 · 범정부 통합본선 진출)과 사업계획서 · 발표자료 · 홍보 영상 제작을 맡았다.
PORTFOLIO · 2026
VitAlGuard 팀장 · PM · 풀스택 · 엣지 AI 개발
워치 · 카메라 · 관제 웹을 하나로 잇고, 현장에서 제대로 도는지까지 책임졌습니다.
SYSTEM

장우진
팀 VitAlGuard 팀장 · PM — 프론트엔드 · 백엔드 · 모바일 · ML · DevOps
2026. 6. 22. ~ 10. 7.
팀장이자 PM 으로 VitAlGuard 의 기획 · 일정 · 역할 분담을 이끌었고, 개발에서는 관제 웹 · 서버, CCTV 엣지 AI, 웨어러블 수집 앱, 배포 · 운영을 맡았습니다. 기능을 만드는 데서 멈추지 않고, 그 기능이 현장에서 맞게 동작하는지를 시험 · 게이트 · 실측으로 확인하는 일에 무게를 두었습니다.
PROJECT MANAGER
팀장
서비스 기획과 일정 · 역할 분담을 이끌고, 공모전 대응(조달청 대상 수상 · 범정부 통합본선 진출)과 사업계획서 · 발표자료 · 홍보 영상 제작을 맡았다.
FRONTEND
관련 커밋 308건
관제 웹 화면(React · TypeScript) — 생체 추세 차트 · 일정 캘린더 · CCTV 직결 화면 · 경보 확인 흐름
BACKEND
관련 커밋 272건
Next.js API 라우트 64개 신설 · 감시 크론 · 텔레그램 경보 · 장치 · 공공데이터 연동
MOBILE
관련 커밋 238건
갤럭시 워치 Wear OS(Kotlin) · Apple Watch → iPhone(Swift) 수집 앱
ML / CV
관련 커밋 58건
보호구 모델 1~7차 학습 · 현장 배포 게이트 · 자세 모델 교체 · TensorRT 변환
DEVOPS
관련 커밋 85건
Cloud Run 배포 · 롤백 · Jetson 2대와 HTTPS 서명 티켓 게이트 운영
문제.재해자는 스스로 신고할 수 없고, 관리자는 전 구역을 동시에 볼 수 없습니다. 사고는 전담 안전조직이 없는 소규모 현장에 몰립니다.
해법.작업자의 스마트워치, 엣지 AI 카메라, 가스 감지기 GasPod, AED 경보 장치를 관제 웹 하나로 잇습니다. 감지는 현장에서, 판단은 사람이 합니다.
| 영역. | 커밋 수. | 영역 내 비율. |
|---|---|---|
| 관제 웹 | 532 | 80.1% |
| 워치 수집 앱 | 238 | 88.8% |
| 보호구 모델 | 56 | 100% |
| CCTV 엣지 | 55 | 100% |
| 공통 · 운영 | 100 | 73.5% |
| 문서 | 705 | 93.9% |
| 월. | 커밋 수. |
|---|---|
| 6월 | 82 |
| 7월 | 414 |
| 8월 | 705 |
| 9월 | 176 |
| 10월 | 16 |
CONTROL WEB · SERVER
Next.js · React · TypeScript · Cloud Run
수신이 끊긴 작업자를 수신 경로가 아닌 별도 감시 경로로 찾아 알린다.
측정 1건을 1행으로 쌓고 측정 시각 신선도와 경보 「확인」 상태를 측정 단위로 기억한다.
긴급재난문자 연동, 쌍태풍 경보, 외부 응답 실패 때 타임아웃과 폴백, 폭염 판정의 관측값 전환.
현장 위치 기반 인근 병원 목록과 진료 시간 · 연락처 보강, 응급실 번호 오매칭 수리.
캘린더 미디어 · 댓글, 위험작업 태그와 기상 예보 충돌 경고, 주간 일정표.
GasPod 텔레메트리 수신과 AED 폴링 엔드포인트 · 심각도 판정으로 현장 장치를 관제 웹에 연결.
관제 경보 5종 텔레그램 전송, 계정 찾기와 비밀번호 재설정.
생체 패널을 기간 조회가 되는 Recharts 추세 차트로 바꾸고, 측정이 빈 16시간이 2시간처럼 보이던 축을 시간축으로 고쳤다.
EDGE AI · ML
YOLO26s · YOLO11s-pose · TensorRT · Jetson Orin Nano Super
Google Colab 에서 자료 구성 · 라벨 정제 · 예약 홀드아웃을 바꿔 가며 학습. 6차는 지표가 좋아 보여도 홀드아웃 회귀로 배포를 막았다.
같은 현장 사진 35장 · 클래스별 문턱으로 판본을 고르는 게이트와 독립 채점 도구. 세 기준을 동시에 넘은 7차-E 를 라이브로.
두 대에 TensorRT 엔진 · 카메라 푸셔 · HTTPS 서명 티켓 게이트를 맞추고, 반납 전에 엔진 굽는 절차와 측정 도구를 남겼다.
yolo11s-pose 로 바꿔 판정 가능 프레임을 90.2% 에서 99.6% 로 높이고, 몸통 각도 · 하강 규칙의 문턱을 143.88시간 로그 스윕으로 맞췄다.
WEARABLE APPS
Kotlin · Wear OS · Swift · watchOS
Wear OS 수집 앱 착수부터 착용 판정 · QR 로그인 · 하트비트 · LTE 단독 업로드까지.
워치 측정을 iPhone 영속 큐와 재시도를 거쳐 서버로 보내는 수집 앱.
낙상 판정 모델 3종을 워치 앱에 파일 · 타깃까지 탑재.
DEPLOY · OPS
Google Cloud Run · Cloud Build · Docker
사후 관찰 90초 · 라우트 검증 · 원터치 롤백, 배포 대상을 승인 시점 커밋으로 고정, 배포 뒤 번들 검사.
| 이름. | 수행 내용. |
|---|---|
| 장우진 | 팀장 · PM(기획 · 일정 · 역할 분담 · 공모전 대응), 관제 웹 프론트엔드 · 백엔드, 웨어러블 수집 앱, CCTV 엣지 AI · ML, 배포 · 운영 |
| 김태곤 | DB 스키마 설계, 현장 하드웨어(GasPod · AED-alert), 담당관 태블릿 앱, 워치 낙상 ML 학습 |

NEXT.JS 15 · REACT 19 · TYPESCRIPT · TAILWIND · CLOUD RUN · POSTGRESQL 14
현장 장치와 공공데이터를 한 화면에 모아 통합 안전 신호등으로 보이고, SOS · 낙상 · 생체 위험 경보를 텔레그램으로 바로 보내며 처리 기록을 남깁니다.
장우진 — 관제 웹 확장 · 서버 · 배포 · 운영 / 김태곤 — 초기 관제 화면 · 관리자 TOTP 2단계 인증.
관제 웹 열기 ↗ 로그인 필요.





KOTLIN · COMPOSE FOR WEAR OS · SAMSUNG HEALTH SENSOR SDK · HEALTH SERVICES · LTE
작업자 손목에서 심박 · 산소포화도 · 피부 온도를 모아 폰 없이 관제로 보내고, 상태를 화면 색으로 알립니다.
장우진 — 갤럭시 워치 수집 앱.
| 분류. | 판본. | 검출. | 기준. | 거짓 검출. |
|---|---|---|---|---|
| 안전모 | 5차 | 0/100 | 94 | 0 |
| 안전모 | 7차-A | 0/100 | 94 | 0 |
| 안전모 | 7차-D | 74/100 | 94 | 0 |
| 안전모 | 7차-E | 96/100 | 94 | 1 |
| 사람 | 5차 | 89/113 | 96 | 15 |
| 사람 | 7차-A | 95/113 | 96 | 10 |
| 사람 | 7차-D | 98/113 | 96 | 11 |
| 사람 | 7차-E | 99/113 | 96 | 7 |
| 조끼 | 5차 | 69/100 | 69 | 5 |
| 조끼 | 7차-A | 85/100 | 69 | 6 |
| 조끼 | 7차-D | 78/100 | 69 | 4 |
| 조끼 | 7차-E | 77/100 | 69 | 2 |
| 기기. | 보호구. | 자세. | 초당 화면. |
|---|---|---|---|
| 1호기 · CAM-03 | 14.1ms | 14.1ms | 30 |
| 2호기 · CAM-01 | 14.9ms | 16ms | 29.7 |
| 판본. | 재현율. | 정밀도. | TP. | FP. | FN. |
|---|---|---|---|---|---|
| 5차 | 0.973 | 1.000 | 1524 | 0 | 42 |
| 6차 | 0.958 | 0.999 | 1501 | 1 | 65 |
| 7차-A | 0.974 | 0.999 | 1526 | 1 | 40 |
| 7차-D | 0.958 | 1.000 | 1500 | 0 | 66 |
| 판본. | 재현율. | 정밀도. | TP. | FP. | FN. |
|---|---|---|---|---|---|
| 5차 | 0.973 | 1 | 1524 | 0 | 42 |
| 6차 | 0.958 | 0.999 | 1501 | 1 | 65 |
| 7차-A | 0.974 | 0.999 | 1526 | 1 | 40 |
| 7차-D | 0.958 | 1 | 1500 | 0 | 66 |
| 지표. | n. | s. |
|---|---|---|
| 현장 판정 가능 프레임 | 90.23 | 99.61 |
| GMDCSA-24 낙상 재현율 | 0.671 | 0.785 |
| GMDCSA-24 F1 | 0.684 | 0.761 |
YOLO26s · YOLO11s-POSE · TENSORRT · JETSON ORIN NANO SUPER ×2 · JETPACK 6.2
카메라와 Jetson 을 묶은 엣지 유닛이 현장에서 안전모 · 조끼 착용과 자세를 판정했고, 게이트가 판정 영상과 통계를 서버 중계 없이 관제 웹 · 태블릿에 직접 보냈습니다.
Jetson 2대는 2026. 10. 7. 반납했습니다. 지금 관제 웹의 CCTV 칸에는 영상이 나오지 않습니다.
장우진 — 모델 학습 · 배포 게이트 · 엣지 추론.
| 항목. | 전. | 후. | 변화. |
|---|---|---|---|
| v4 → v5 재학습 | 75 건 | 16 건 | −79% |
| 2.8G 경보 게이트 | 5.29 건/시간 | 0.65 건/시간 | −87% |
| 모델. | 역할. | 지표. | 값. | 한계. |
|---|---|---|---|---|
| work_veto | 작업 동작 기각 | LOSO 기각 정밀도 | 0.971 | 낙상 오기각 실측 0 |
| impact | 고G 충격 판정 | LOSO PR-AUC | 0.460 | 단독 판정 부적합 → 증거 전용 |
| recovery | 쓰러진 뒤 미회복 | 인물 내 정확도 | 86% | 위험 미탐 1/11 · 1인 21윈도 |
| 모델. | 역할. | 지표. | 값. | 한계. |
|---|---|---|---|---|
| work_veto | 작업 동작 기각 | LOSO 기각 정밀도 | 0.971 | 낙상 오기각 실측 0 |
| impact | 고G 충격 판정 | LOSO PR-AUC | 0.460 | 단독 판정 부적합 → 증거 전용 |
| recovery | 쓰러진 뒤 미회복 | 인물 내 정확도 | 86% | 위험 미탐 1/11 · 1인 21윈도 |
SWIFT · CORE ML · IMU 88특징 · LOSO 평가 · ONNX RUNTIME(WEAR OS 이식)
워치 안에서 충격을 감지하면 작업 동작인지 가려내고, 본인이 30초 안에 응답하지 않을 때만 경보를 확정합니다. ML 은 경보를 억제하는 데만 쓰고 단독으로 경보를 내지 않습니다.
김태곤 — 낙상 모델 학습 · 검증 / 장우진 — Apple Watch 수집 앱 · 워치 앱 탑재 · 관제 연동.

ESP32-S3 · ARDUINO · SEN0322 · MQ-7 · MQ-136 · BME280 · WI-FI OTA
밀폐공간의 산소 · 일산화탄소 · 황화수소 · 온습도 · 기압을 재고, 현장에서 바로 빛과 소리로 경보한 뒤 5초마다 관제로 보냅니다.
김태곤 — 회로 · 펌웨어 · 케이스 제작 / 장우진 — 텔레메트리 수신 · 관제 웹 연동.

RASPBERRY PI · PYTHON · RPI.GPIO · SYSTEMD · HTTP 폴링
AED 배터리와 전극패드 교환 주기를 서버가 판정하면, 현장 장치가 그 상태를 빛과 소리로 알립니다.
김태곤 — 장치 제작 / 장우진 — 폴링 엔드포인트 · 심각도 판정 · 관제 웹 연동.

기상청 초단기실황 · 기상특보 · 태풍 · 행정안전부 재난문자 · OPEN-METEO 돌풍
기상청 관측 · 특보 · 태풍 정보와 행정안전부 긴급재난문자를 현장 위치에 맞춰 보여 주고, 폭염 · 강풍 작업중지 기준과 대조합니다.
장우진 — 태풍 경보 · 재난문자 연동 · 폭염 관측값 전환 / 김태곤 — 기상 · 태풍 클라이언트 첫 작성.
| 기관. | 데이터. | 쓰임. |
|---|---|---|
| 조달청 | 나라장터 입찰공고 | 위험작업 추출 · 사전 위험도 |
| 조달청 | 나라장터 계약 | 진행 중 공사 현장 |
| 조달청 | 종합쇼핑몰 품목정보 | 보호구 조달 단가 |
| 국세청 | 사업자등록 상태조회 | 발급처 계속 · 휴업 · 폐업 |
| 법제처 | 국가법령정보 | 산업안전 고시 개정 감지 |
| 기상청 | 초단기실황 | 폭염 작업 기준 |
| 기상청 | 기상특보 | 현장 위치 특보 |
| 기상청 | 태풍 정보 | 진로 · 기압 · 풍속 |
| 행정안전부 | 긴급재난문자 | 인근 재난 알림 |
| 국립중앙의료원 | E-Gen 병의원 | 인근 병원 |
| 국토교통부 | VWorld | 좌표 · 지도 · 지적도 |
| 안전보건공단 | 사고사망 · 재해사례 | 사고 정보 |
12종 · 8개 기관 · 조달청 나라장터 · 국세청 · 법제처 · 기상청 · 행정안전부 · E-GEN · VWORLD · 안전보건공단
8개 기관의 공공데이터 12종을 실제로 연동했습니다. 현장 안전(기상 · 재난 · 응급 · 지도 · 사고 정보)과 공사 정보(조달 · 사업자 · 법령)를 관제 화면에서 함께 씁니다.
장우진 — 재난문자 · E-Gen · VWorld 첫 연동, 기상 · 태풍 확장 / 김태곤 — 조달청 · 국세청 · 법제처 · 안전보건공단 · 기상 첫 연동.

아이디어 기획 부문
2026년 공공조달데이터·AI 활용 창업경진대회
조달청 · 2026. 8. 3.아이디어 부문 · 조달청 추천
제14회 범정부 공공데이터·AI 활용 창업경진대회
행정안전부 · 2026. 9. 30.아이디어 플랜 V2.x 제출 · 신규 DB 설계 착수
실착용 운영 시작 — 8월 1일까지 39일 동안 생체 샘플 247,518건
2차 심사 5분 대면 발표(v2.8)
CCTV 보호구 판정 모델 학습(Google Colab) · Jetson 엣지 추론 착수
공공조달데이터·AI 활용 창업경진대회 대상(조달청장상) · 조달청 추천으로 범정부 통합본선 진출
DB 외부 감사 · 보안 보강 · GasPod v5 무선 업데이트 실증 · Apple Watch 수집 앱 PoC · 갤럭시 워치 수집 앱 착수
담당관 태블릿 앱 Compose 재작성(1.0 → 1.3.18) · 자세 모델 yolo11s-pose 전환(9. 14.) · 보호구 모델 7차-E 라이브(9. 15.)
제14회 범정부 공공데이터·AI 활용 창업경진대회 통합본선 아이디어 부문 발표(A09)
시연 영상 공개
CCTV Jetson 2대 반납 · 관제 웹 배포
홍보 영상 공개