김동건 KIM DONGGUN

백엔드 서버 엔지니어 목표. VRChat 아바타 기믹 제작 및 무료 배포.

Backend developer in training. I also build and give away VRChat avatar gimmicks.

About 소개

영진전문대학교 AI 소프트웨어 학과 2학년. 백엔드 서버 엔지니어 목표로 Spring Boot 기반 서비스 개발.

Second-year AI Software student at Yeungjin College, aiming to become a backend server engineer.

해군 세종대왕함에서 26개월 동안 정보통신병·정보통신부사관으로 근무. 함내 전산망과 서버, 통신 장비 운용.

26 months in the ROK Navy running shipboard networks, servers and communications.

개발 외 활동으로 VRChat 아바타용 기믹 제작, GitHub와 BOOTH에 무료 공개. 일본어·영어·한국어 문서 작성.

On the side, I publish free VRChat gimmicks with documentation in Japanese, English and Korean.

학교 School
영진전문대학교 AI 소프트웨어 학과
목표 Goal
Backend server engineer
병역 Service
대한민국 해군, 2024 – 2026
GitHub
Pyrite9

Projects 프로젝트

백엔드·웹 서비스 작업. Backend and web work.

Backend / Web 백엔드 · 웹

불러오는 중… Loading

Tools & etc. 그 밖의 도구

    VRChat Gimmicks VRChat 기믹

    VRChat 아바타용 기믹 무료 배포. Modular Avatar 기반, 문서는 일본어·영어·한국어 3개 국어. Free avatar gimmicks built on Modular Avatar, documented in Japanese, English and Korean.

    불러오는 중… Loading

    Working with AI AI와 일하는 방식

    판단과 검증은 사람, 구현과 측정은 AI. People decide and verify. AI builds and measures.

    VRChat 기믹 4종을 AI 코딩 에이전트(Claude Code)와 함께 개발. 본인의 몫은 코드를 직접 타이핑한 양이 아니라 무엇을 만들지 정하고 결과를 어떻게 검증했는지. I decide what to build and how to verify it; the agent writes the code.

    본인 Me

    • 기획과 범위 결정
    • AI가 낸 후보 중 선택과 기각
    • VR·인게임 실기 검증과 버그 제보
    • 배포·공개 결정
    • 사용자 문의 대응

    AI 에이전트 Agent

    • 구현
    • 측정과 렌더 비교
    • 재현 하네스 작성
    • 문서화
    • 결정이 필요한 곳에는 후보와 근거 제시

    작업 흐름 Workflow

    1. 명세와 결정 기록 Spec & decision log

      프로젝트마다 현재 상태, roadmap, 명세 문서 유지. 결정은 D번호, 위험은 R번호로 기록

      한 프로젝트의 명세·작업 기록 문서가 1,000~2,000줄 규모

    2. 위임 Delegate

      에이전트가 MCP로 Unity 에디터를 직접 조작

      프로젝트마다 포트를 나눠 여러 세션이 섞이지 않게 구성. 개발 프로젝트와 "받는 사람 쪽" 시험 프로젝트 분리

    3. 다중 에이전트 검토 Multi-agent review

      읽기 전용 에이전트 여러 개가 영역별로 검토, 결과를 교차 대조

      한 번의 전체 검토에 에이전트 6개. 두 에이전트가 따로 찾은 항목과 직접 확인한 항목을 구분 표시

    4. 근거 수준 표시와 기준선 대조 Evidence levels & baselines

      발견마다 심각도(S1~S5)와 근거 수준(재현됨 / 코드 추론 / 가설) 표기

      수정 전후 빌드 결과를 golden 해시로 대조해 바이트 단위로 같은지 확인. 확인하지 못한 것은 "미확인"으로 그대로 기록

    5. 인게임 실기 판정 In-game verdict

      여러 시험 아바타에 붙여 비공개로 올린 뒤 VR·인게임에서 본인이 직접 판정

      에디터에서 통과해도 인게임에서 불합격이면 불합격

    세대 반복 탐색 Generational search

    에이전트가 후보 알고리즘을 만들고, 다른 에이전트가 평가하고, 불합격 사유로 다음 세대를 만듦. 멈출 시점과 최종 판정은 사람. Agents build and grade candidates generation by generation; a person decides when to stop and gives the final verdict.

    세대 반복 순환: 생성, 독립 평가, 불합격 사유, 기준 보강, 다음 세대를 거쳐 다시 생성으로. 사람은 고리 바깥에서 방향과 중단 시점을 정하고 인게임 최종 판정을 함.

    사람 Person방향과 중단 시점 결정

    에이전트 Agents

    1. 생성Generate
    2. 독립 평가Independent evaluation
    3. 불합격 사유Failure reasons
    4. 기준 보강Tighten criteria
    5. 다음 세대Next generation

    사람 Person인게임 최종 판정

    실제 기록 Real run · Sleeve Roll

    처진 소매 정규화 알고리즘 Normalizing drooping sleeves

    계기 처진 소매 의상에서 인게임 판정이 세 번 연속 실패. 본인이 방향 전환 지시: 옷마다 대응하지 말고 일반 알고리즘을 세우고, 합격할 때까지 세대 반복

    1. 1세대 자체 기준 불합격

      막힌 곳 일반 옷에서 오작동

    2. 2세대 자체 기준 불합격

      막힌 곳 후보마다 일반 옷 결과가 바뀜, 잡음, 뒤집힘

    3. 3세대 자체 기준 불합격

      막힌 곳 기본값은 대부분 통과. 특정 슬라이더 조합에서 처진 소매 실패

    4. 4세대 자체 기준 불합격

      막힌 곳 기본값 처진 소매 12개와 렌더 통과. 슬라이더 95개 설정 중 19개가 기존 방식보다 나쁨

      인게임 첫 양호 판정 (본인)

    5. 5세대 자체 기준 불합격

      막힌 곳 기준 5개 항목에서 불합격

    6. 6세대 자체 기준 불합격

      막힌 곳 기준 2개 항목만 남고 나머지 9개 통과

      본인이 여기서 중단 결정

    결말 6세대를 시험 아바타 6개에 올려 본인이 인게임에서 전부 확인, 양호 판정 후 배포. 자체 기준의 불합격 2개 항목과 남은 위험 6가지는 심각도 순으로 문서에 그대로 기록

    4세대 수치, 기존 방식 대비 Gen 4 vs. previous method

    판 모양 결함 지표
    68.41 → 14.29
    늘어남 지표
    37.94 → 0
    일반 소매 이동
    0

    평가 규모 Evaluation set

    처진 소매 개발용
    12개
    평가 전용
    12개
    슬라이더 설정
    240개

    이 방식이 성립하는 규칙 Rules that make it work

    1. 만드는 에이전트와 평가하는 에이전트를 분리Builder and evaluator are different agents
    2. 평가 전용 데이터의 세부는 만드는 쪽에 넘기지 않음ML의 train / test 분리와 같은 발상Held-out evaluation data
    3. 합격 기준은 낮추지 않음기준을 네 번 고쳤고(v1 → v4) 전부 항목 추가나 재정의, 이유를 기록The bar is never lowered
    4. 수치상 불합격이 남아도 숨기지 않음최종 판정은 사람의 인게임 실기Remaining failures stay on record

    같은 방식의 다른 예 · Drink Can 쥐는 손 자동 맞춤

    • 관점이 다른 AI 평가자 4명(접촉 / 관절 / 실제 쥐는 법 / 알고리즘)이 렌더를 보고 7라운드 반복, 평균 5점 → 7.3점
    • 마지막에는 이름을 가린 블라인드 비교로 고정 자세와 대결시켜 자동 맞춤을 기본값으로 채택

    한계 처진 소매 실물 표본이 한 계열 의상뿐이라, 다른 의상으로의 일반화는 검증하지 못함

    가드레일 Guardrails

    • 에이전트 권한 설정: git push는 매번 사람 확인. force push·amend·rebase·reset --hard·재귀 삭제는 차단
    • 파일은 영구 삭제하지 않고 별도 폴더로 이동
    • 공개·업로드·배포 같은 외부 작업은 본인 동의 후
    • 유료 아바타에서 나온 데이터(메시, 셰이프키 값, 텍스처)는 배포물에 넣지 않음

    숫자 Numbers

    commit 수 Commits

    • Pulse Watch235
    • Sleeve Roll206
    • Drink Can127
    • Wheelchair71

    개발 repo 기준, 거의 전부 AI co-author 표기

    Drink Can 한 프로젝트 One project

    C#
    약 7,000줄
    Python 도구
    약 1,760줄
    작업 기록
    103절
    시작 → 첫 공개
    4일

    이 사이트도 같은 방식으로 제작. 구성·문구·방향 수정은 본인, 구현과 검증은 Claude Code. This site was built the same way. commit 기록 보기 Commit history

    Skills 기술

    Backend

    • Java
    • Spring Boot 3
    • JPA
    • Spring Security (JWT)
    • PostgreSQL
    • SQL (Oracle)
    • Python

    Frontend

    • React
    • JavaScript
    • HTML / CSS

    Infra / Network

    • Docker
    • Linux (Arch, Ubuntu)
    • VMware
    • Cisco Networking

    VRChat / Unity

    • C#
    • Unity
    • VRChat SDK
    • Modular Avatar / NDMF

    Experience 경력

    대한민국 해군 · DDG-991 세종대왕함 Republic of Korea Navy

    2024.01.02 – 2026.03.01 (26개월) · 기동함대사령부 제71기동전대

    정보통신병 20개월 → 정보통신부사관 6개월 IT & communications specialist, then petty officer

    • 함내 PC 150대 이상과 근거리전산망 유지보수
    • L2/L3 스위치, Cisco 라우터, UTM(AhnLab TrusGuard) 운용
    • IBM-S814 + OracleDB 함정 서버 관리
    • 무선·위성통신 및 전군 VTC 운용
    • 2025년 후반기 71기동전대 근무유공자 표창(간부)

    Certifications 자격

    Contact 연락처