Claude Code를 사용해 Rust로 웹 브라우저를 처음부터 직접 만들었습니다 — WPT 준수율 91% 이상, ECMAScript 97.8%, WebAssembly 100%. Chromium이나 WebView는 사용하지 않았습니다.
I built a web browser from scratch in Rust with Claude Code — 91%+ WPT compliance, 97.8% ECMAScript, and 100% WebAssembly. No Chromium, no WebView.
핵심 요약
Rust와 Claude Code를 활용해 Chromium 기반이 아닌 독자적인 웹 브라우저 엔진 'T.A.B.'를 개발 중입니다.
- 독자적 엔진 — Chromium이나 Electron 없이 Rust로 직접 구현함
- 높은 호환성 — WPT, ECMAScript, WebAssembly 등에서 높은 준수율 기록
- 경량화 설계 — 메모리 사용량을 최소화하고 헤드리스 환경에 최적화
- 개발 방식 — Claude Code를 활용해 아키텍처 설계 및 구현 가속화
지난 몇 달 동안 Rust로 웹 브라우저를 밑바닥부터 직접 만들었다. Claude Code의 도움을 받으면서 개발하다 보니, 어쩌다 보니 진짜 브라우저 엔진이 되어버렸다.
이름은 T.A.B. (Tiny Ass Browser), 내 Kingmaker 엔진으로 돌아간다.
여기서 말하는 브라우저는 Chromium 포크나 Electron 앱, WebView 래퍼 같은 게 아니다. 말 그대로 처음부터 끝까지 다 만든 미친 물건이다.
자체 JavaScript 엔진, 바이트코드 VM, JIT 컴파일러, DOM 구현, CSS 레이아웃 및 페인팅 파이프라인, WebAssembly 런타임, 렌더링 스택까지 다 갖췄다. 애초에 헤드리스(headless-first)를 염두에 두고 설계했는데, 무거운 Chromium 인스턴스 끌고 다닐 필요 없이 에이전트가 직접 돌릴 수 있는 걸 원했기 때문이다.
현재 호환성 결과:
-
WPT Testharness: 91.43**%**
-
ECMAScript / Test262: 97.83%
-
WebAssembly: 100%
-
Combined conformance: 92.22%
-
5개 스위트 합쳐서 1,764,069개 테스트 통과
통합 대시보드에는 이전 실행 결과가 포함되어 있어서, 5개 스위트 전부를 한꺼번에 새로 측정한 건 아니다.
스크린샷은 내 엔진에서 실제로 돌아가는 페이지들이다. 구글, HEY, 37signals, 그리고 내가 만든 프로젝트 몇 개(cass.tools, kosmos.tools)도 있다. 내가 직접 만든 애니메이션 새 탭 페이지랑 나를 고문하는 데 쓰고 있는 호환성 대시보드도 포함했다.
요즘 집중하고 있는 것들:
-
오래된 GPU를 쓰는 기기에서도 메모리 사용량 낮게 유지하기.
-
정적 링크된 Rust 빌드로 의존성 최소화하기.
-
불필요한
Arc,Mutex,unsafe사용 줄이기. -
사람과 자율 에이전트 모두에게 유용한 엔진 만들기.
-
데모 페이지 몇 개 예쁘게 보여주는 수준이 아니라, 진짜 웹 호환성 확보하기.
Claude Code가 개발 워크플로우에서 엄청난 역할을 했다. 나는 아키텍처랑 방향성을 잡고, 구현이나 디버깅, 테스트는 에이전트를 빡세게 굴렸다. Rust 컴파일러랑 업스트림 호환성 스위트가 최종적으로 이게 돌아가는지 안 돌아가는지 판결을 내려준다.
물론 아직 미완성이다. 어떤 사이트들은 여전히 처참하게 깨지고, 남은 WPT 실패 항목들은 진짜 정신 나갈 것 같다. 렌더링 문제 하나 고치면 2008년에 누가 표준화해 놓은 건지 알 수도 없는 이상한 브라우저 동작이 튀어나온다.
그래도 실제 웹사이트가 돌아가고, 실제 JavaScript가 실행된다. 이제 진짜 쓸만한 물건에 점점 가까워지고 있다.
이걸 혼자 만드는 이유는, 수십 년 된 아키텍처의 짐을 덜어내고 메모리 오버헤드도 줄인 현대적인 브라우저 엔진을 다르게 만들 수 있을지 궁금해서다.
엔진, 아키텍처, 호환성 테스트, 혹은 Claude Code를 어떻게 활용해서 만들었는지 궁금한 거 있으면 다 물어봐라.






