Drag to move
‹ Home

Surgenie

A web app that drafts operative records, summaries and reviews from surgical video analysis — from a solo prototype to a team product

Released
2026.10
Role
Planning · Development (team project)
Tech
3

Preview

  • 케이스 요약
  • 평가의 이벤트 리뷰

About this app

The write-up below is in Korean. For an English overview of every project, see the CV.

왜 만들었나

9월의 목업 위에 팀이 앱을 세웠다. 화면 모양은 그대로 옮겨 왔지만, 실제 케이스를 열어도 목업 시절의 예시 값이 그려지는 자리가 남아 있었다. 실제 케이스의 평가지가 예시 케이스의 평균과 밴드를 그려, 견줄 기록이 있는 것처럼 보이는 식이었다.

10월부터 팀 저장소의 프론트엔드 브랜치를 맡았다. main에는 직접 올리지 않고 병합 요청으로만 반영한다. 기준은 하나로 잡았다 — 화면에 보이는 값은 이 케이스의 실측이거나, 아니면 예시라고 밝히거나.

무엇을 만들었나

Surgenie는 수술 영상을 올리면 단계와 도구를 분석하고, 그 결과로 수술 전 예측·계획과 수술 뒤 요약·기록·평가 문서를 만드는 웹 앱이다. 팀 제품이고 지금도 수정 중이다. 서버와 분석 엔진은 팀이 만든 것이고, 이 글은 본인이 맡은 프론트엔드만 다룬다.

10월 1일부터 27일까지 이 브랜치에 커밋 69개를 올렸고, 바꾼 것마다 무엇을 왜 바꿨는지를 변경 기록에 한 줄씩 남겼다(73줄).

평가지는 실제 케이스의 단계별 평가와 이벤트 리뷰를 분석 실측으로 그리게 바꿨다. 평소 범위 밴드와 “평소보다” 표시는 견줄 본인 기록이 있을 때만 선다.

케이스 요약은 단계마다 한 줄 요약을 단다. “소요시간 평소보다 3분 20초 증가 · 2번에 나눠 진행”처럼 화면이 실측과 본인 평소 범위로 짓는 문장이고, 언어 모델의 긴 단계 문장은 지우지 않고 근거 패널의 “AI 문장 원문”으로 옮겼다.

케이스 요약

케이스 요약. 단계마다 화면이 실측으로 지은 한 줄이 서고, 원인과 조치는 집도의가 채운다.

예측 입력에서 받은 환자 기본정보와 진단·병기는 수술기록 요약과 AI 수술기록지로 이어지고, 이어 받은 문서에서는 이름 한 글자를 가린다(홍길동 → 홍*동). 난이도는 고정 예시 대신 위험 요인 다섯 개를 1점씩 세는 임시 규칙(0점 Low, 1~2점 Moderate, 3점 이상 High)으로 내고, “임시 규칙” 배지를 붙였다.

그 밖에 끊긴 영상 업로드 이어 올리기, 계정 · 조직 · 설정 화면, 휴대폰 화면 맞춤을 맡았다.

어떻게 만들었나

실측이 아니면 배지를 단다. 실측이 아닌 값에는 “예시”나 “임시 규칙” 배지를 붙이고, “예시” 배지는 그 자리가 실측으로 바뀌었을 때만 걷었다.

AI가 먼저, 사람이 고친다. 평가의 단계별 등급은 화면이 임시 규칙으로 먼저 매긴 “AI 제안”을 평가자가 눌러 고친다. 평가자가 매긴 등급과 AI 등급은 따로 두고, AI 등급은 첫 저장 때 고정해 나중에 무엇을 고쳤는지 가려낼 수 있게 했다.

영상이 모르는 것은 사람 칸으로. 단계가 평소보다 길었다는 것은 화면이 셀 수 있지만, 왜 그랬는지는 영상과 CSV로 알 수 없다. 그래서 원인·조치는 “직접 입력 필요”로 남기고, 수정 단추는 그 한 줄만 이어 쓰게 열린다.

설명은 줄이고 경고는 남긴다. 예측부터 아카이브까지, 화면이 어떻게 도는지 가르치는 문장과 뻔한 칸의 출처 꼬리표, 되풀이 안내를 걷었다. 이 정리를 담은 커밋은 약 2,900줄을 지우고 600줄을 더했다. 잠긴 단추의 이유, 삭제 경고, AI 초안·예시·수정됨 표시, 빈칸의 이유는 남겼다.

main은 병합으로 따라간다. main이 앞서 나가면 강제 푸시 없이 병합 커밋으로 받았다. 10월에 세 번이었고, 충돌이 난 두 번은 양쪽 변경을 모두 살리는 쪽으로 풀었다.

걸렸던 것

채점 규칙을 세 번 바꿨다. 평가의 이벤트 리뷰는 처음에 “다 체크했는가”만 세서, 체크하면 늘 만점이었다. 장면마다 2(문제 없음) · 1(관찰) · 0(확인 요청)으로 판정하고 가장 낮은 값을 등급으로 삼게 바꾸자, 마지막 장면을 판정하는 순간 점수가 갑자기 서고 그 장면에 따라 오가는 것처럼 보였다. 판정 중에도 잠정 등급을 보이게 했지만, 장면이 셋이면 만점이 6이어야 하는데 늘 2점 만점인 것이 끝내 읽히지 않았다. 결국 장면 점수를 더하고 만점은 판정한 장면 수 × 2로, 확인 요청은 따로 드러내는 방식으로 정했다. 규칙이 맞아도 읽히지 않으면 쓰이지 않는다.

평가의 이벤트 리뷰

평가의 이벤트 리뷰. 장면마다 판정하고 점수를 더한다. 확인 요청은 등급 옆에 따로 센다.

업로드가 71%에서 멈췄다. 영상을 올리는 동안 예측·계획 화면에 다녀오자 업로드가 끊겼고, 다시 고르면 0%부터였다. 업로드를 한 화면이 아니라 앱 전체에 붙여 다른 화면에 다녀와도 이어지게 하고, 끊긴 업로드는 같은 파일을 다시 고르면 서버가 받은 지점부터 잇게 했다. 멈췄던 그 영상도 남은 29%를 같은 세션으로 이어 보내 마쳤고, 원본과 해시가 일치했다.

캡처는 팀 저장소를 로컬에서 띄워 합성 영상과 합성 분석 데이터 다섯 건으로 새로 찍었다. 실제 케이스와 배포 환경은 쓰지 않았고, 언어 모델 키 없이 띄워서 문장을 만드는 칸은 “실측만 적습니다”로 서 있다.

어디까지 왔나

기준의 절반쯤 왔다. 평가지의 단계별 평가와 이벤트 리뷰, 평가지 안의 골드라벨 교정본 요약, 난이도는 이제 그 케이스의 값으로 그려진다. 합병증 위험 카드는 아직 예시 그대로고, 난이도 규칙과 평가 판정 문구는 “임시” 표시를 단 채 외과의 피드백을 기다린다.

10월 27일에는 사용성 평가에서 나온 지적 중 프론트엔드에서 바로 고칠 수 있는 것부터 반영했다. 승인된 계획서를 열려다 저장 오류가 나던 것, 예상 소요 범위에 그 케이스 자신이 섞이던 것, 같은 단계 시간이 화면에 따라 11분 29초와 11분 30초로 다르게 찍히던 것.

남은 것

사용성 평가의 나머지 지적과, 임시 규칙·문구를 외과의 검토에 맞춰 확정하는 일이 남았다. 요약 문장 생성의 중복 실행은 같은 탭 안에서만 막았다 — 다른 탭이나 다른 사람까지 막으려면 서버 쪽 변경이 필요하다. 팀 제품이라 이 글의 화면은 앞으로도 바뀐다.

Version history

  1. Surgenie2026.07
  2. Surgenie2026.09
  3. Surgenie2026.10

Information

Made by
Kipyo Bae (kipioneer)
Version
2026.10
Role
Planning · Development (team project)
Tech
React · TypeScript · Vite
Released