배경
리치텍스트 에디터를 라이브러리 없이 직접 만드는 것은, 회사에서 사내 기술 자산으로 기획했던 프로젝트였다. 개발계획서를 12차까지 개정하고 Figma로 시나리오와 GUI를 설계했지만, 굵게·밑줄·기울임이 겹치는 중첩 서식을 HTML 태그로 구조화하는 난제에 막혀 중단됐다. 당시 도달한 마지막 진단은 "글자를 1개씩 나눠야 태그 오류가 없다"였다.
3년 만의 재개
퇴사 후 개인 프로젝트로 재개하면서, 먼저 남겨진 기획서·Figma·코드를 역분석해 정확한 중단 지점을 확정했다. 그리고 그 진단을 일반화했다 — 글자를 1개씩 나누는 대신, 서식 속성을 가진 런(run) 단위 데이터 모델로 문서를 표현하면 태그 중첩 문제 자체가 사라진다.
최대 3중 중첩 서식이 작성→저장→재조회→재편집→재저장 왕복에도 깨지지 않음을 브라우저 수동 검증으로 확인했다. 자동화 테스트는 두지 않았고, 이는 검증 방식의 한계로 함께 기록해 두었다.
결정의 기록
구현 과정의 의사결정은 근거와 함께 문서로 남겼다. 배포 타겟이 Supabase(PostgreSQL)라 로컬 DB를 MySQL에서 PostgreSQL로 전환한 근거는 settings 주석과 배포 문서에, 글꼴 35종을 5종으로 줄인 것 같은 스코프 축소는 전부 이유와 함께 기록했다. 2026년의 구현물이 2024년의 Figma 설계와 문구 단위로 일치하는 것은, 이 기록들이 3년의 공백을 이어준 결과다.