SaaS의 뒷면 — Super Admin 대시보드와 AI 크레딧 결제를 만드는 일
내부 개발 도구 확장 super admin에 활동 로그 타임라인, Sentry/Vercel 모니터링 대시보드를 추가하고, AI 크레딧 추가 구매 플로우를 4개 Phase에 걸쳐 완성한 하루. 익스텐션 콘텐츠 스크립트 미주입 버그도 해결.
내부 개발 도구 확장 super admin에 활동 로그 타임라인, Sentry/Vercel 모니터링 대시보드를 추가하고, AI 크레딧 추가 구매 플로우를 4개 Phase에 걸쳐 완성한 하루. 익스텐션 콘텐츠 스크립트 미주입 버그도 해결.
내부 개발 도구 확장에 웹 QA 대표 에러 10가지를 재현하는 튜토리얼 데모 시나리오를 구축하고, 멤버 비활성화/재활성화와 시트 관리 UI를 7개 Phase에 걸쳐 완성한 하루.
내부 개발 도구 확장 전체에 next-intl 기반 다국어화를 적용하고, 플랜 구조를 Solo/Pro/Enterprise 3단계로 재설계하고, Chrome Web Store 심사 제출을 준비한 하루. 107개 커밋이 하나의 방향을 가리킨다.
내부 개발 도구 확장에 GitHub Ghost User 시스템, 칸반 드래그 순서 변경, 공개 이슈 공유 링크 등 제품 수준의 기능들이 대거 추가된 하루. 세션 리플레이 진행바와의 세 번에 걸친 버그 수정기도 함께.
쇼핑몰 J 관리시스템의 하드코딩된 이메일 권한을 역할 기반으로 전환하며 2,500줄을 순삭제하고, 그랑핸드 마이페이지 QA와 스탬핑 기능을 마무리하고, 내부 도구의 세션 리플레이 트리밍과 칸반 보드 레이아웃을 개선한 하루.
PlateEditor 이미지 업로드를 DOM 해킹에서 Plate 공식 API, 최종적으로 PlaceholderPlugin까지 세 번의 리팩토링으로 완성하고, 방 시스템의 폴리곤 직접 병합과 다크모드 Surface 5단계 계층 구조를 구현한 37커밋의 금요일 기록.
내부 개발 도구 확장에서 화면 녹화 버그를 수정한 직후 기능 자체를 제거하고, 숨겨져 있던 메타데이터를 대시보드에 노출하는 작업을 진행했습니다. 쇼핑몰 G은 상품 페이지 머지와 장바구니 CSS 개선이 이루어진 하루.
AI 크레딧 시스템을 정교하게 구축한 뒤 비용 분석 결과를 보고 과감히 구조를 전환하고, QA Note MCP 서버로 LLM 도구 연동의 문을 연 하루의 기록입니다.
어떤 프로젝트든 "로드맵 전체 구현 완료"라는 커밋 메시지를 작성하는 순간이 있습니다. 오늘 에서 그 순간이 왔고, +40,393줄이라는 숫자가 그 무게를 말해주고 있네요. 오늘의 핵심: 시뮬레이터가 제품이 되기까지 단순히 기능을 만드는 것과, 그걸 실제로 "설치"하고 "분석"할 수 있게 만드는 건 완전히 다른 일입니다. 오늘 가장 공들인 부분은 "내 사이
Vercel 서버리스의 4.5MB 제한을 우회하기 위해 Vercel Blob을 경유지로 사용하는 2단계 전송 구조를 도입했습니다. 클라이언트에서 Blob으로 직접 업로드 후 서버가 SFTP로 옮기는 방식으로 최대 30MB 이미지 업로드를 지원하게 됐습니다.
쇼핑몰 G의 헤더 작업을 통해 간단해 보이는 UI가 실제로는 얼마나 많은 케이스를 고려해야 하는지 경험한 날. 디테일이 쌓여 완성도가 된다는 걸 다시 한번 배웠습니다.
하루에 세 개 프로젝트, 23개 커밋. 쇼핑몰 G의 매거진/이벤트 기능 구현, 온라인 쇼핑몰 E의 디지털 카탈로그 디테일 개선, 아트페어 H VIP시스템 백오피스 편의성 향상 작업을 진행했습니다.
토요일 오후, 쇼핑몰 H 관리시스템에서 이미지 링크가 안 먹는다는 제보를 받았습니다. 분명 링크를 넣었는데 클릭해도 아무 반응이 없다고요. 코드를 뜯어보니 범인은 확장의 이었습니다. href 속성을 로 반환하고 있었는데, 정작 태그로 래핑하는 조건문은 를 체크하고 있었던 거죠. 결과적으로 래핑 조건이 영원히 false가 되는 클래식한 버그였습니다. 구조로
Prep이 QANote로 리브랜딩되며 GitHub App 토큰 기반의 진짜 봇으로 진화했고, 쇼핑몰 G 헤더와 WYSIWYG 에디터 개선 작업이 동시에 진행된 금요일의 기록입니다.
GitHub Actions workflow_call의 권한 설정 삽질과 prep 봇의 의도 분류 구조 개선, 그리고 Redis/CDN 이중 캐시 레이어 문제 해결까지. 인프라를 제대로 깔아둔 하루.
CDN과 Redis 캐시 레이어를 재정비하고, 콘텐츠 즉시 반영 기능을 추가했습니다. 안전한 캐시 퍼지를 위해 scanStream과 UNLINK를 도입했고, 개인정보 암호화 로직도 개선했어요.
프로젝트 이력을 5분 간격으로 그룹화해서 보여주는 기능을 구현하고, pnpm lockfile 버전을 호환성 이슈로 다운그레이드했습니다. 권한 분기 처리와 스크롤 기반 UI 개선도 함께 진행했어요.
오늘은 바톤 매뉴얼 프로젝트에서 꽤 많은 일이 있었습니다. 코드 라인만 봐도 +23k/-11k니까요. 물론 이 숫자가 전부를 말해주진 않지만, 오늘 하루 팀이 어디에 집중했는지는 확실히 보여줍니다. 수정 내역을 기록한다는 것 가장 눈에 띄는 작업은 카테고리와 게시물의 수정 내역 추적 기능이었습니다. 사실 "누가 언제 뭘 바꿨는지" 기록하는 건 당연해 보이지
바톤 매뉴얼 프로젝트에 변경 이력 추적 시스템을 구현하고, 카테고리/게시물 삭제 로직을 개선했습니다. 1분 단위 히스토리 그룹화와 before_content 저장으로 데이터 변경을 추적할 수 있게 되었습니다.
검색 정렬 기본값 변경이 생각보다 복잡했던 이유와, 히스토리 기능을 과감히 제거한 이야기. 그리고 새 프로젝트 아트페어 웹사이트의 시작.