가족 블로그 하나 만들어 달랬는데 — arcaC 0편
부탁은 화분 하나(블로그)였는데, 정신 차려 보니 온실(플랫폼)을 짓고 있었어요. 과해 보인다는 거 압니다. 그런데 계산이 있었어요 — 그 사연의 0편이에요.

부탁은 화분 하나였어요.
"블로그 하나만 만들어 줘." 가족의 부탁이었고, 저는 프론트 개발자니까요. 어려울 게 없는 일이었죠.
머릿속 견적은 즉시 나왔어요. Next.js에 템플릿 얹고, 글쓰기 붙이고, 배포. 주말 이틀이면 충분합니다.
그런데 손이 안 갔어요. 마우스가 프로젝트 생성 버튼 위에서 멈췄습니다.
멈칫한 이유를 며칠 뒤에 알았어요
블로그 다음이 보였거든요. 가족용 다이어리. 계산기형 사이트. 지도 사이트. 하나를 만들어주면 다음 부탁이 온다는 걸, 가족을 둔 개발자는 다 압니다.
(가족의 부탁에는 이자가 붙어요. 잘 만들수록 다음 부탁이 커집니다.)
그리고 저는 그 미래를 이미 살아봤어요. 이전 프로젝트에서 사이트마다 같은 코드를 반복해서 짰거든요.
저장. 작성·수정·보관 수명주기. 목록과 상세 라우팅. 게시 파이프라인. 이름만 다르고 뼈대는 똑같은 코드를, 사이트를 새로 팔 때마다 처음부터요.
세 번째쯤 되면 알게 돼요. 이건 개발이 아니라 이사예요. 같은 짐을 싸고, 같은 짐을 푸는.
그래서 온실을 지었습니다
화분 하나를 부탁받고, 온실 골조를 올리기 시작했어요. 블로그가 첫 번째 제품으로 올라가는 플랫폼을요.
네, 과해 보인다는 거 압니다. 화분 하나 놓겠다고 유리 온실부터 짓는 사람을 보면 저라도 말릴 거예요.
그런데 계산은 이래요. 온실을 지어 두면 다음 화분부터는 그냥 선반에 올리면 돼요. 저장도, 수명주기도, 라우팅도, 게시도 — 이미 온실이 갖고 있으니까요.
대가는 혹독했어요
블로그 글 하나를 화면에 띄우기까지의 거리가, 일반 앱보다 훨씬 멀었습니다.
Next.js였으면 첫날 저녁에 글이 떠 있었을 거예요. 저는 그 대신 스키마를 설계하고, 조립 규칙을 만들고, 검증 체계를 세웠습니다. 화면에는 아무것도 안 뜨는 날들이 이어졌어요.
"이 추상화가 정말 필요한가." 스스로에게 물은 날이 많았어요. 밤에 골조만 서 있는 온실을 올려다보면서요.
(238커밋이 걸렸습니다. 블로그 하나에요. 네, 저도 압니다.)
성적표는 아직이에요
이 플랫폼의 가설은 하나예요. "두 번째 제품은 플러그인만 추가하면 된다."
그런데 지금 온실에 올라간 화분은 블로그 하나뿐이라, 이 가설은 아직 증명되지 않았습니다. 다이어리가 올라오는 날, 이 설계의 성적표가 나와요.
블로그를 만든 게 아니라, 블로그를 서술할 수 있는 언어를 만들었어요. 그 언어가 값을 하는지는 그날 판정 납니다.
(지금 읽고 계신 이 글도 그 온실에서 발행되고 있어요. 화분은 잘 자라는 중입니다.)
왜 그런 결정을 했는지, 설계자의 변명은 블로그를 앱이 아니라 플랫폼으로 만든 이유에서 이어집니다. 그리고 시리즈의 끝에는, 혼자 이걸 다 만든 사람의 회고가 기다려요.


