김동환

현장을 기획·운영하고, 반복 업무는 AI로 자동화합니다.

스포츠투아이 DX사업파트에서 K리그 기록원 73명의 운영과 정산, 기록 데이터 검수, 제안·계약을 맡고 있는 김동환입니다. 불편한 업무는 먼저 찾아내 AI와 스크립트로 직접 도구를 만듭니다.

  • 기록원 73명 운영
  • 오류 연락 3회 → 0건
  • DB 조회 대신 1분 이내 Slack 알림
한빛 2–1 서해 2026 가상 리그 18라운드 · 후반 36:10
24최도윤 35노지호 31정태윤
  1. 0초최도윤 패스
  2. 5초노지호 크로스
  3. 6초정태윤 골 · xG 0.12
가상 데이터로 그린 예시입니다. 점선은 공을 몰고 간 구간.

작업

현장에서 쓰는 검수 도구와 자동화, 그리고 경기 데이터를 화면과 영상으로 옮긴 작업들입니다.

K리그 데이터 랩

  • Python
  • pandas
  • scikit-learn
  • PostgreSQL
  • Three.js
  • SVG·HTML

K리그 경기 이벤트 기록으로 3D 골 리플레이, 매치 스토리, 모델 노트, 전술 모션을 만들고 추출부터 화면까지 혼자 맡았습니다.

공개용 페이지라서 아래 화면은 실제 데이터 대신, 같은 형식으로 생성한 가상 리그 데이터로 다시 만들었습니다. 팀·선수·기록은 모두 가상입니다.

문제

이벤트 기록은 사람이 그대로 읽기 어려운 긴 표입니다. 전·후반마다 공격 방향이 바뀌고 기록 방식의 차이도 있어, 그대로 그리면 장면이 틀어집니다.

한 일

  • 읽기 전용 연결로 DB에서 추출하고, 공격 방향을 경기별로 맞추는 보정표를 만들었습니다.
  • 득점 확률이 평소 수준 아래로 떨어지는 지점까지 거슬러 올라가 골 장면의 시작을 정했습니다.
  • xG, 행동가치, MoM, 승률 모델을 1~120번 경기로 학습하고 121~150번 경기로 채점했습니다.

배운 점

우리 모델이 기준선보다 못한 결과도 그대로 적었습니다. 그래서 경기 리뷰에는 공식 xG를 쓰고, 우리 xG는 위치 가치 지도 학습에만 씁니다.

모델 4종xG, 행동가치, MoM, 경기 중 승률
120 / 30경기학습 경기와 채점 경기를 나눠 처음 보는 경기로만 성적을 냄
시점 4개3D 리플레이의 방송·따라가기·위에서·골대 뒤

K리그 선발 명단·포메이션 검증 도구

  • 데이터 검수
  • 업무 도구 구축
  • K리그 기록 운영

경기마다 입력하는 선발 명단과 포메이션을 공식 자료와 맞대어, 중복과 누락을 찾고 차이를 한 화면에서 비교하도록 만들었습니다.

문제

선발 명단과 포메이션은 손으로 입력하기 때문에 번호 중복이나 선수 누락이 생기고, 그 오류는 데이터를 받는 업체의 연락으로 뒤늦게 드러났습니다.

한 일

입력과 검증을 한 도구로 묶어 중복·누락을 자동으로 확인하고, 입력값과 공식 자료의 차이를 화면에서 바로 비교하도록 했습니다.

결과

개발 전 라운드당 평균 3회였던 업체의 오류 관련 연락이 개발 후 전반기 15라운드 동안 0건이었고, 다른 권역에서도 이 도구를 쓰게 됐습니다.

3회 → 0건라운드당 업체 오류 연락, 개발 전 평균 대 개발 후
15라운드오류 연락 0건을 이어 간 전반기 기간
권역 확대처음 만든 권역 밖으로 활용 범위가 넓어짐

업무 자동화: 모니터링 스케줄과 Slack 정기 알림

  • Python
  • MSSQL
  • MariaDB
  • openpyxl
  • Slack

해외 리그 일정을 모아 1주일치 근무 스케줄 엑셀을 만드는 스크립트와, DB를 직접 조회해야 알 수 있던 정보를 팀 Slack으로 보내 주는 정기 알림을 만들었습니다.

주간 모니터링 스케줄이 만들어졌습니다토요일부터 금요일까지, 새벽·오전·오후 블록으로 나눈 엑셀을 열었습니다.방금
DX사업파트 정기 알림DB를 직접 조회하던 정보가 채널로 도착했습니다. 팀원 5명이 같은 내용을 바로 확인합니다.정기 발송

작동 방식을 보여 주는 예시 화면입니다. 표의 일정과 알림 문구는 실제 데이터가 아닙니다.

새벽전날 23시 이후 경기가 있으면 0시부터
오전07:30 이후 첫 경기 기준, 보통 08:00
오후15시 이후 실제 첫 경기 시각
하루를 세 블록으로 나누고, 경기가 없는 블록은 행을 만들지 않으며, 같은 날짜의 행은 셀을 병합합니다.

스케줄

MLB, NPB, NBA, AFC 챔피언스리그, J리그, 유럽 7개 리그, MLS 일정을 사내 DB 두 곳에서 모아 근무 블록과 담당을 채운 엑셀을 만듭니다. 팀원은 실행 파일을 더블클릭만 하면 됩니다.

규칙 다듬기

이른 오전 경기를 새벽에 붙일지는 직전 새벽 경기와 5시간 이상 떨어졌는지로 정합니다. 실제 결과를 보며 열일곱 차례 넘게 고쳤고, 바꾼 규칙은 합성 데이터 테스트로 검증한 뒤 반영합니다.

Slack 알림

DX사업파트 5명을 위한 정기 알림을 기획했습니다. AI의 도움을 받아 필요한 컬럼과 XML 노드를 정확히 지정하고 반복 테스트로 출력 내용을 보완해, DB를 직접 조회하던 정보를 빠르면 1분 이내에 확인하도록 바꿨습니다.

보안

접속 정보는 로컬 설정 파일에만 두고, 팀 배포용 패키지는 민감 정보를 뺀 채로 따로 묶었습니다.

모션그래픽 스킬 v2

  • Claude Code 스킬
  • HTML 애니메이션
  • Playwright
  • ffmpeg

코드로 데이터 영상을 만드는 과정을 7단계로 나누고 단계마다 검사 도구를 붙였습니다. 아래 영상은 같은 템플릿에 가상 데이터를 넣어 만든 데모입니다.

60초 데이터 리플레이, 가상 리그 은하 2–2 단풍. 선발 포메이션, 슛과 xG 흐름, 연속골, 점유 구역, 최종 기록을 7개 장면으로 이었습니다.
  1. 브리프메시지, 보는 사람, 크기와 길이, 쓸 데이터
  2. 스토리도입·전개·절정·마무리 장면 배치
  3. 샷 플랜설계와 빌드 사이의 유일한 계약
  4. 빌드시각만으로 화면이 정해지는 결정적 시계
  5. 검수 자동이음새·정지·잘림·콘솔 오류 측정
  6. 내보내기MP4·WebM·GIF·PNG 한 번에
  7. 수정한 번에 하나씩, 느낌을 원인으로 번역
위 영상의 0초부터 58초까지 9개 시점을 격자로 모은 컨택트 시트
위 영상의 9개 시점을 모은 컨택트 시트입니다. 검수 단계는 이런 시트와 함께 이음새, 멈춘 화면, 잘림, 콘솔 오류를 먼저 측정합니다.

문제

형식별 레시피만 있어서 결과가 들쭉날쭉했고, 화면에 들어간 숫자가 사실과 맞는지는 사람이 눈으로 확인해야 했습니다.

한 일

사실 목록과 샷 플랜의 숫자가 맞는지 코드로 검사하고, 경기 장면·데이터 스토리 등 샷 유형 11종과 K리그 하우스 스타일을 정리했습니다.

결과

눈 검수 전에 자동 검수가 먼저 돌고, 스크립트 하나로 영상 포맷을 모두 뽑으며, 중단된 작업은 이어갈 단계를 표로 찾습니다.

AI 디자인 스킬 큐레이션

  • Claude Code
  • Agent Skills
  • 오픈소스 검토

디자인·발표자료·프런트엔드 관련 오픈소스 스킬을 검토해 나만의 디자인 작업 환경으로 묶었습니다. 지금 보고 계신 이 사이트가 그 환경으로 만든 첫 결과물입니다.

실제로 검토한 스킬과 조치 내용입니다. 27개 중 6개를 차례로 보여 줍니다.
15곳직접 받아 검토한 저장소(스킬 목록 포함)
27개문서·라이선스·스크립트를 확인하고 설치한 스킬
2개직접 만든 허브와 스킬 카탈로그

기준

설치 전에 문서를 끝까지 읽고 라이선스와 스크립트의 네트워크 호출을 확인했습니다. 목록에 있다고 안전하다고 보지 않았습니다.

뺀 것

확인 없이 모든 주소의 다운로드를 허용하는 권한, 홍보 워터마크와 자동 업데이트 확인, 세션마다 강제로 실행되는 시작 훅을 뺐습니다.

정리한 것

스킬끼리 규칙이 부딪히는 지점에 우선순위를 정하고, 작업 종류별로 어떤 스킬을 쓸지 고르는 라우팅 표를 만들었습니다.

경력

축구협회에서 대회와 선수 등록을 다뤘고, 지금은 스포츠 기록 데이터의 현장 운영부터 사업과 서비스 기획까지 맡고 있습니다.

스포츠투아이(주)

스포츠DX실 · DX사업파트

2022.04 – 현재

현장 인력 운영과 비용 정산

전국 12개 권역 K리그 공식 기록원 73명의 채용·배치와 경기 일정 조율을 맡고 있습니다. 시즌별 운영 계획을 세우고 돌발 결원에 대비한 대체 인력 투입 체계를 마련했습니다. 연간 약 1억 3,400만 원의 인건비와 출장비를 관리하며 교통비·숙박비·식비의 산출 기준과 지급 조건을 정리했고, 경기별 투입 인력과 비용을 연결한 정산표로 근무 내역과 증빙을 대조했습니다. 집계부터 검증·승인·지급까지 절차를 정비해 정산 문의를 월 1~2건 수준으로 줄였습니다.

  • 기록원 73명
  • 12개 권역
  • 연 1억 3,400만 원 관리
  • 정산 문의 월 1~2건

데이터 운영과 업무 개선

K리그·KBO 등 국내외 프로리그의 기록 데이터 운영과 검수를 맡고 있습니다. K리그 선발 명단·포메이션 입력·검증 도구를 만들어 업체의 오류 관련 연락을 라운드당 평균 3회에서 전반기 15라운드 동안 0건으로 줄였고, 다른 권역으로 활용이 넓어졌습니다. DX사업파트 5명을 위한 Slack 정기 알림을 기획해 DB를 직접 조회하던 정보를 빠르면 1분 이내에 확인하도록 했습니다.

  • 오류 연락 3회 → 0건
  • Slack 알림 1분 이내

제안·견적과 계약

야구 데이터 솔루션 사업에서 구단별 요구를 파악해 제안서를 작성했습니다. 제공 범위와 작업량을 바탕으로 견적을 산정하고, 제공 일정과 책임 범위 등 계약 조건을 조율했습니다. 2025년 11월부터 2026년 3월까지의 프로젝트에서 4개 업체와 계약했습니다.

  • 4개 업체 계약
  • 2025.11 – 2026.03

신규 서비스 기획과 협업

ABL 기록 입력기 개발 과정에서 스토리보드와 기능 요구사항을 작성했습니다. 운영 부서, 개발업체, 플랫폼 담당자 사이에서 개발 범위와 일정을 조율하고 검수에 참여해, 시즌 개막에 맞춰 입력기와 서비스를 출시했습니다.

  • 시즌 개막 일정에 맞춰 출시

인천광역시축구협회

관내 축구 리그·대회 기획 및 운영, 행정 업무

2021.02 – 2021.12

선수 등록과 행정 데이터 관리

인천 지역 엘리트·동호인 선수 8,100명 이상의 등록과 이적 관련 데이터를 관리했습니다. 대한축구협회 선수 등록 시스템에서 정보를 입력·검증하고 오류를 정정했으며, 등록 절차를 운영하며 참가자와 팀 관계자의 요청을 처리했습니다.

  • 선수 8,100명 이상

대회와 리그 운영

지역 축구 대회와 리그의 경기 일정을 조율하고 심판 배정과 현장 운영을 담당했습니다. 참가팀과 관계 기관 등 여러 이해관계자와 소통하며 운영에 필요한 사항을 조정했고, 코로나19 상황에서는 방역 대응 가이드라인을 작성해 대회 운영 절차에 반영했습니다.

행사 기획과 대외 협력

협회 주관 행사의 기획부터 준비와 진행까지 담당했습니다. 관계 기관 섭외와 일정 조율, 참가팀과 생활체육 담당자 간 협의회 운영, 지자체 협조 공문 작성 등 대외 행정 업무를 처리했습니다.

협회 운영 지원

협회장 업무 보좌와 대내외 커뮤니케이션을 지원했습니다. 대회·리그 운영 과정에서 관계자의 요청과 현장 상황을 확인하고 필요한 내용을 공유해 협회 업무가 원활하게 진행되도록 도왔습니다.

소개

현장과 데이터 사이에서 일해 왔습니다. 대회 운영과 선수 등록으로 시작해, 지금은 기록원 운영과 정산, 기록 데이터 검수, 제안과 계약, 서비스 기획까지 맡고 있습니다.

반복되는 확인은 도구로 만들고, 화면과 문서의 숫자는 원본과 맞는지 먼저 봅니다. 모델 성적도 학습에 쓰지 않은 경기로만 냅니다.

그다음에는 그 숫자를 처음 보는 사람이 바로 이해할 수 있는 형태를 고민합니다. 표를 장면으로, 장면을 짧은 모션으로 바꾸는 일을 좋아합니다.

운영·정산
현장 인력 배치와 일정 조율, 비용 산출 기준 수립, 정산표와 증빙 대조
기획·사업
제안서와 견적 작성, 계약 조건 조율, 스토리보드와 기능 요구사항 작성
분석·모델링
Python, pandas, NumPy, scikit-learn, 부트스트랩·블록 교차검증으로 모델 평가
데이터
PostgreSQL, MSSQL, MariaDB, 스포츠 이벤트·일정 데이터, 대한축구협회 선수 등록 시스템
시각화·자동화
HTML·SVG, Three.js, 코드 기반 모션그래픽, 엑셀 리포트, Slack 알림, Claude Code 스킬 설계

현장은 꼼꼼하게 운영하고, 반복 업무는 AI로 줄여 나갈 사람이 필요하다면 연락 주세요.