글라우드
경력근거: 단 한 번의 구강 스캔만으로, 불과 25분 만에 보철을 자동 완성하는 혁신적인 디지털 덴티스트리 솔루션
※ 실제 산출물이 아닌 AI 예측 시안입니다.
글라우드 JustScan은 한 번의 구강 스캔으로 25분 만에 보철을 만드는 솔루션이라, 스캔 품질을 자동 점검해 재스캔 여부를 알려주는 이 도구는 글라우드의 실제 구강 스캔 데이터가 있어야 판정을 검증합니다.
JustScan 이 '단 한 번의 구강 스캔으로 보철을 자동 완성'. 스캔 품질이 곧 결과 품질이라 품질 자동 점검이 직접적 가치.
AI·3D 프린팅으로 치과 진료 패러다임을 바꾸는 기업. 스캔 데이터 판정에 ML/규칙을 붙이는 작업이 제품과 정렬.
미국·유럽·아시아로 확장 중이라 스캔 품질 기준의 자동화·일관성이 운영의 핵심.
구강 스캔 결과 메타(커버리지·노이즈·결손 영역)를 받아 보철 자동 제작에 충분한지 판정하고, 부족하면 재스캔 사유를 근거와 함께 표시하는 1주 포트폴리오입니다. 의료 진단은 하지 않고 스캔 품질만 봅니다.
글라우드 PE. 스캔이 보철 제작에 쓸 만한지 매번 사람이 눈으로 보던 상황을 끝내고, 그 품질 판정을 자동 도구로 옮기고 싶은 사람입니다.
스캔 메타에 품질 기준(커버리지·노이즈·결손 임계)을 붙이면, 규칙/LLM 이 (a) 보철 제작 가능 여부를 판정하고 (b) 재스캔이 필요하면 어느 영역이 문제인지 근거와 함께 알려줄 수 있습니다.
구강 스캔 메타를 받아 보철 제작에 충분한지 판정하고, 부족하면 재스캔 사유를 근거와 함께 표시하는 동작하는 도구입니다.
치과 검수자 2명 라벨과 재스캔 판정 일치도(κ)를 재고, 재스캔 사유의 정확도를 보여주는 대시보드입니다.
스캔 직후 실시간으로 품질을 게이트하고 재스캔 영역을 안내해, 촬영 현장에서 바로 쓰는 단계입니다.
결측·경계·미등록 스캔 30종(커버리지 결측·임계 직전 값·없는 스캐너 모델 포함)을 넣어도 판정이 멈추지 않는 걸 시연합니다.
스캔 메타를 넣으면 합격/재스캔 판정과 문제 영역이 근거와 함께 몇 초 안에 나오는 걸 시연합니다.
모든 판정 출력이 형식 검증(Zod)을 통과
측정: 자동 parse, 표본: 스캔 100건
합격/재스캔 라벨 30개 중 24개가 내가 만든 정답과 일치합니다. 단, 정답·데이터를 작성자가 만든 합성 기준이라 '성능 검증'이 아니라 '데모 조건 동작'
위 수치는 더미데이터 자가채점이며, 실제 품질 판정 정확도는 글라우드 실제 스캔 데이터 + 치과 기공/임상 검수가 있어야 측정 가능합니다. 이 포트폴리오는 그 검증을 바로 돌릴 수 있는 상태까지 만듭니다.
수치는 합성 데이터 자가채점이라 성능 증명이 아닙니다. 면접에서는 데모 동작과 실검증 준비 상태로 솔직히 설명합니다.
정답을 작성자가 만들었으니 잘 맞는 것이 당연합니다. 커버리지 결측·임계 직전 경계값·미등록 스캐너 같은 헷갈리는 케이스를 더미에 일부러 섞어 쉬운 문제만 푸는 게 아님을 보여줍니다.
스캔 품질 기준은 임상 영역과 맞닿아 단정이 위헙니다. '진단'은 안 하고 제작 적합성만 보며, 경계 케이스는 '기공사 확인 권장'으로 표시합니다.
실제 도입 시 달라지는 것: 실 스캐너 기종·해상도·임상 기준이 더미와 다르므로 품질 임계를 실데이터·임상 자문으로 다시 맞춰야 한다(도입 단계 과제)
① 인라인 샘플 · ② seed.json 다운로드 · ③ 증강 프롬프트. 세 층 모두 동일한 schema 에서 파생.
구강 스캔 한 건의 품질 메타. 판정 엔진이 가장 먼저 보는 표. 결측·경계값·미등록 기종을 일부러 섞었다.
| scan_id | scanner_model | coverage_pct | noise_level | missing_teeth | retake_label |
|---|---|---|---|---|---|
| s_001 | iTero5 | 98.5 | 0.05 | [] | false |
| s_002 | iTero5 | 71 | 0.22 | ["#14","#15"] | true |
| s_003 | Trios4 | 90 | 0.08 | ["#26"] | false |
| s_004 | Trios4 | — | 0.1 | [] | false |
| s_005 | — | 85 | — | ["#36"] | false |
아래 Zod 스키마에 맞는 구강 스캔 품질 메타 80행 JSON 배열로 생성.
{"type":"object","properties":{"scan_id":{"type":"string"},"scanner_model":{"type":["string","null"]},"coverage_pct":{"type":["number","null"]},"noise_level":{"type":["number","null"]},"missing_teeth":{"type":"array","items":{"type":"string"}},"retake_label":{"type":"boolean"}},"required":["scan_id","scanner_model","coverage_pct","noise_level","missing_teeth","retake_label"]}
쉬운 데이터만 만들지 말 것. 하드 케이스 의도적 혼입: (1) coverage_pct/noise_level/scanner_model=null 결측 각 1~2건, (2) 합격 임계(coverage 80%) 직전/직후 경계값(79.9 vs 80.0) 1쌍, (3) 미등록 스캐너 기종('UnknownX99') 1건, (4) 극단값 coverage 0.0/100.0 각 1건, (5) 결손 치아 다수(4개+) 1건. JSON 배열만.{"type":"object","properties":{"scan_id":{"type":"string"},"scanner_model":{"type":["string","null"]},"coverage_pct":{"type":["number","null"]},"noise_level":{"type":["number","null"]},"missing_teeth":{"type":"array","items":{"type":"string"}},"retake_label":{"type":"boolean"}},"required":["scan_id","scanner_model","coverage_pct","noise_level","missing_teeth","retake_label"]}| Node.js | 스캔 메타 ingest + 품질 규칙 판정 + 모호 케이스 LLM 호출 |
| Express | 판정 API (`POST /qc`. 스캔 메타 → 합격/재스캔 + 사유) |
| React | 스캔 품질 점검 UI + Zod 런타임 검증 |
| GCP | 스캔 메타 저장 + 서버리스 판정 함수 |
✓ pass → 그대로 멈춰도 완성품입니다. 더 키우려면 2주차(재스캔 판정이 검수자와 맞는지 검증)로 갑니다.
✓ pass → 여기서 멈춰도 완결입니다. 더 키우려면 3주차(스캐너 실시간 품질 게이트)로 갑니다.
스캔 단위 품질 판정 출력. 합격/재스캔 + 문제 영역 + 근거. 의료 진단 없음.
{"type":"object","properties":{"scan_id":{"type":"string"},"verdict":{"type":"string","enum":["pass","retake","review"]},"problem_areas":{"type":"array","items":{"type":"string"}},"evidence":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"quote":{"type":"string"}},"required":["field","quote"]},"minimum":1},"hedge":{"type":["string","null"],"minLength":8}},"required":["scan_id","verdict","problem_areas","evidence","hedge"]}[
{
"scan_id": "s_002",
"verdict": "retake",
"problem_areas": [
"커버리지 부족",
"#14·#15 결손"
],
"evidence": [
{
"field": "coverage_pct",
"quote": "71.0"
}
],
"hedge": null
},
{
"scan_id": "s_004",
"verdict": "review",
"problem_areas": [
"커버리지 결측"
],
"evidence": [
{
"field": "coverage_pct",
"quote": "null"
}
],
"hedge": "커버리지 값이 없어 자동 판정 불가, 기공사 확인 권장"
},
{
"scan_id": "s_008",
"verdict": "review",
"problem_areas": [
"미등록 스캐너"
],
"evidence": [
{
"field": "scanner_model",
"quote": "UnknownX99"
}
],
"hedge": "검증 안 된 기종이라 임계 적용 보류"
}
]자동: (1) Zod parse, (2) evidence.field 가 입력 스키마 실제 필드명인지, (3) verdict=review 시 hedge 존재 + 진단 단정 토큰 검출 시 reject. 수동/judge: 경계 케이스 적정성은 기공사 5% 확인(스캔 품질만, 진단 아님).