제품 만들기
혼자 서비스를 만들며 겪은 것. 설계·화면·데이터.
- 「티어」를 grep 하니 인쇄 보고서가 걸렸다
반마다 성장 지표를 다르게 넣었는데, 정작 문제는 회차 화면 밖에 있었다
2026-09-22 · 3분 - Supabase 브랜치 도입을 보류한 이유 — 코드 한 줄
Vercel Preview에 브랜치를 붙이려다 dev-auto-login.ts 조건문 한 줄에서 막혔다
2026-09-19 · 3분 - 페르소나 검수로 찾은 것 — 저장 버튼 3개는 문제가 아니었다
가상 사용자 넷을 세워 방과후 출결 화면을 봤더니 셋이 같은 자리에서 멈췄다. 버튼을 하나로 합치려다 되돌린 이유.
2026-09-17 · 3분 - HTML 목업대로 붙였더니 출석률이 30%로 찍혔다
승인받은 목업을 그대로 옮겼는데 개근한 학생이 30%로 나왔다. 계산은 맞았고 분모의 정의가 틀렸다.
2026-09-13 · 3분 - Supabase 인덱스 하나로 접었던 앱 합치기
「제약이 있으니 못 얹는다」고 문서에 적어뒀는데, 마이그레이션을 열어보니 그 제약은 얹으려는 테이블에 닿지도 않았다.
2026-09-11 · 3분 - PDF 보고서 합계가 안 맞았다 — 원인은 데이터 두 벌
개인별 출석률 10개는 다 맞는데 합계만 틀렸다. 오타인 줄 알았더니 문서를 두 번 적은 탓이었다.
2026-09-11 · 3분 - 애드센스를 붙이니 개인정보처리방침 세 문장이 거짓이 됐다
광고 코드는 한 줄인데, 처리방침에서 틀려질 문장을 찾다 값 하나로 묶은 이야기
2026-09-09 · 3분 - 통계 중복 집계 30%, 어제 문서를 안 읽고 낸 결론
같은 데이터를 어제는 12%, 오늘은 30%로 쟀다. 자를 다르게 댄 것뿐이었다.
2026-09-08 · 3분 - 블로그 카테고리 URL 을 갈아엎었다 — 「잡담」에 잡담이 0편이었다
8개월 전 「일단 임시로」 지은 칸 이름 넷에 81편이 쌓였고, 이름표와 내용물이 어긋나 있었다
2026-09-02 · 3분 - QR 스캔 47회는 이상치가 아니었다
전시 앱 통계에서 튀는 값을 걸러내려다, 제일 열심히 본 관람객을 지울 뻔했다
2026-08-31 · 3분 - AI가 만든 티는 보라색이 아니라 Tailwind 기본값이었다
키 컬러를 보라로 바꾸려다 검색해 보니, 정작 쓰던 색이 클로드 브랜드 오렌지였다
2026-08-31 · 4분 - git log 한 줄로 갈린 것 — 문서가 틀린 건가 낡은 건가
디자인 토큰 문서를 정정하려다, 커밋 날짜를 보고 정정 자체를 되돌린 이야기
2026-08-30 · 3분 - 테이블 분리 전에 실제 데이터 네 줄을 세워봤다
한 표가 두 일을 겸해서 챗봇이 없는 사실을 말했다. 표를 가르려다 어디에도 안 들어가는 줄을 만났다.
2026-08-30 · 3분 - 다크 모드를 tone prop 으로 만들다, 색 토큰 값을 뒤집었다
화면 하나만 어둡게 하려다 앱 전체로 번졌다. 판을 두 벌 만드는 대신 토큰 값을 뒤집었고, 안 따라온 20곳이 튀어나왔다.
2026-08-29 · 3분 - fixed 탭바 때문에 미뤘는데, grep 한 번이면 될 일이었다
작업일지에 적어둔 우려가 하루 동안 결정을 막았다. 코드를 안 열고 적은 줄이었다.
2026-08-29 · 3분 - AI 챗봇 제안 칩 82%, 내가 물어본 것만 세고 있었다
전시장 챗봇 첫 이틀 39건 중 82%가 제안 칩. 그 숫자를 두 번 읽었더니 정반대 결론이 나왔다.
2026-08-28 · 3분 - shadcn --yes 를 줬는데도 「덮어쓸까요?」가 뜬다
커스텀 레지스트리로 팔레트를 심다 막힌 프롬프트, 그리고 내가 만들어둔 components.json 이 가린 진짜 문제
2026-08-28 · 4분 - React 조건부 렌더링 카드가 다시 뜨는 이유
고르기·건너뛰기 버튼만 달았더니, 카드를 무시하고 그냥 질문한 사람에게 카드가 매번 다시 나타났다
2026-08-25 · 3분 - 프로젝트 두 개 합치기를 접었다 — 재사용 가능한 건 100줄
같은 회사, 같은 분야, 겹치는 기능 네 개. 세어 보니 셋이 틀렸고 남은 건 100줄이었다.
2026-08-23 · 3분 - 프롬프트 인젝션은 시스템 프롬프트 안 「자료」에서 뚫렸다
사용자 메시지는 다 막혔는데, 회원이 채운 입력 칸을 통해 답변 마지막 줄에 광고가 붙었다
2026-08-22 · 3분 - Next.js 명함 QR 프로토타입 — 만든 건 마지막 한 칸이었다
몇 시간 만든 프로토타입이 서비스가 아니라 QR 착지 페이지 한 장이었다
2026-08-18 · 3분 - gpt-4o 모델 교체, 진짜 병목은 원가가 아니라 분당 토큰 한도였다
대화 1건 14원이 아까워 모델을 재봤더니, 120회 중 18회가 분당 한도로 실패하고 있었다
2026-08-17 · 4분 - 방문자 수를 IP로 세면 안 되는 이유 — HyperLogLog 로 바꿨다
누적 101이 전부 내 방문이었다. IP 제외 목록은 남까지 지운다는 걸 알고 방향을 접었다.
2026-08-16 · 4분 - AI 리뷰 둘이 9건을 잡았다 — 10번째는 사용자가 잡았다
코드가 코드를 배신하는 자리는 리뷰가 찾는다. 코드가 현실을 배신하는 자리는 못 찾는다
2026-08-09 · 4분 - 거짓말을 안 하려고 넣은 표시가 거짓말이 됐다
빈 링크를 「만드는 중」으로 표시했는데, 넷 중 셋은 만드는 중이 아니었다
2026-08-05 · 3분 - 빠져나간 공간이 41.7mm니까 6명 더 들어간다 — 재보니 2명이었다
- 「이 버튼 없애자」를 그대로 했으면 0곳이 바뀌고, 뜻을 짐작해 했으면 174곳이 바뀐다
- 「업로드 시각은 안 중요하다」와 「5시로 옮기자」는 같이 설 수 없다
- 그 밖에 36편이 큐에 있다. 소재가 마르면 발행을 멈춘다.