개발일지자동 발행 확인, HTTP 200만 믿으면 안 되는 이유블로그 자동 발행 파이프라인의 확인 로직을 글별 URL 200 응답과 본문 렌더 검사 두 단계로 바꾼 과정을 정리했어요.2026년 8월 16일·4분 읽기
브랜딩·마케팅금액 입력 콤마 자동완성, 커서 튐 잡고 브랜드 신뢰 지키기금액 인풋에 콤마를 붙일 때 커서가 끝으로 튀는 원인과 setSelectionRange 복원법, 이런 수정기를 1인 브랜드 콘텐츠 자산으로 쓰는 방법을 정리했어요.2026년 8월 16일·5분 읽기
제품소개금융계산기 결과 화면, 숫자 하나만 크게 보여주는 이유플랜씨(plan-c) 금융계산기 결과 화면을 숫자 하나 중심으로 바꾼 이유를 정리했어요. 항목 6개를 줄이고 핵심 숫자만 키웠더니 답이 빨라졌어요.2026년 8월 16일·4분 읽기
프론트엔드탭 안 볼 때 폴링 멈추기, visibilitychange로 요청 절반 줄이기탭이 백그라운드일 때도 계속 나가던 대시보드 폴링을 visibilitychange 이벤트로 멈추고, 복귀 시 즉시 갱신해 요청을 줄이는 방법을 정리했어요.2026년 8월 16일·4분 읽기
백엔드크론 두 번 실행 방지, Postgres advisory lock으로 잠그기서버 2대에서 크론이 겹쳐 돌아 알림이 중복 발송될 때, Postgres advisory lock으로 실행을 하나로 잠그는 방법을 정리했어요.2026년 8월 16일·5분 읽기
개발일지블로그 자동 발행 검증, 성공 로그 대신 URL로 확인하기블로그 자동 발행의 마지막 확인을 글별 URL 200 응답과 본문 렌더 검사로 교체한 1인 개발 기록이에요.2026년 8월 15일·5분 읽기
브랜딩·마케팅'한 번에 정리' 버튼이 기본으로 꺼져 있는 이유, 기본값이 브랜드입니다맥 정리 앱이 '한 번에 정리'를 기본 비활성으로 두는 이유를 1인 브랜드의 기본값 설계와 신뢰 관점에서 풀어봤어요.2026년 8월 15일·5분 읽기
제품소개법률정보 앱에서 '정보'와 '자문'의 선을 UI로 긋는 방법법률정보 앱이 자칫 법률 자문처럼 보이면 위험해요. 플랜엘(plan-l)을 만들며 문구·버튼·출처 표기로 그 선을 화면 위에 그어 본 경험을 정리했어요.2026년 8월 15일·5분 읽기
프론트엔드한글 입력 중 Enter가 두 번 실행될 때, IME composition 이벤트 처리법한글 입력창에서 Enter가 두 번 발동하는 IME composition 이슈의 원인과 isComposing 가드 한 줄로 해결하는 방법을 정리했어요.2026년 8월 15일·4분 읽기
백엔드Upstash Redis 무료 플랜 DB 1개, prefix로 나눠 쓰는 법Upstash Redis 무료 플랜은 DB가 1개예요. 여러 서비스가 키 prefix 규칙 하나로 한 Redis를 안전하게 나눠 쓰는 방법을 정리했어요.2026년 8월 15일·4분 읽기
AI 정보세션 중간에 룰 파일 고치면 토큰 비용이 뛰는 이유, 캐시 실수 5가지세션 중간 룰 파일 수정은 프롬프트 캐시를 전부 무효화해요. 토큰 비용을 조용히 올리는 5가지 실수와 캐시 적중률을 지키는 습관을 정리했어요.2026년 8월 15일·5분 읽기
개발일지git worktree로 AI 에이전트 병렬 작업 격리하기AI 에이전트를 병렬로 돌리다 리뷰어가 낡은 커밋을 보고 통과시키는 사고를 겪고, git worktree와 SHA 대조로 막아낸 1인 개발 기록이에요.2026년 8월 14일·4분 읽기
브랜딩·마케팅이 카피, 넛지일까 다크패턴일까? 게시 전 3질문 게이트1인 브랜드가 마케팅 카피를 올리기 전 넛지와 다크패턴을 가르는 3가지 질문 게이트를 만든 이유와 운영 방법을 정리했어요.2026년 8월 14일·5분 읽기
제품소개재배포 때마다 사라지던 요청, Railway와 FastAPI 안전 종료로 지키기Railway 재배포 시 SIGTERM을 제대로 받아 FastAPI의 진행 중 요청과 BackgroundTasks를 지키는 설정을 정리했어요.2026년 8월 14일·5분 읽기
프론트엔드라이브러리 없이 모달 focus trap 구현, 접근성 함정 3개모달 focus trap을 직접 구현하며 만난 숨은 요소 수집, 포커스 복귀 누락, 스크린리더 가상 커서 함정 3개와 해결 방법을 정리했어요.2026년 8월 14일·4분 읽기
백엔드Supabase 무료 플랜 7일 일시정지, Workers Cron으로 막기Supabase Free 프로젝트가 7일 비활동으로 잠드는 문제를 Cloudflare Workers Cron Trigger keepalive로 해결하는 방법을 정리했어요.2026년 8월 14일·4분 읽기
AI 정보세션이 죽어도 이어지는 자율 루프, state.json 영속화AI 에이전트 자율 루프가 세션 종료 후에도 진행을 잃지 않도록 state.json에 완료 상태·다음 단계·증거 경로를 기록하는 패턴을 정리했어요.2026년 8월 14일·5분 읽기
개발일지Sentry에 배포 릴리스가 안 잡힐 때, Railway 커밋 SHA 직접 주입하기Railway 배포에서 Sentry 릴리스 탭이 계속 비어 있던 원인과, RAILWAY_GIT_COMMIT_SHA를 release로 직접 주입해 해결한 과정을 정리했어요.2026년 8월 13일·4분 읽기
브랜딩·마케팅AI가 그리는 카드의 '한쪽 띠', 테스트 코드로 막은 이유AI가 카드 UI마다 그리는 한쪽 색 띠 패턴을 문장 규칙 대신 테스트 코드로 차단한 과정과, 1인 브랜드가 디자인 금지선을 자산으로 만드는 방법을 정리했어요.2026년 8월 13일·5분 읽기
제품소개아이콘 100개 같은 톤으로 뽑기: '이 스타일대로' 대신 '이 범위 안에서'AI로 아이콘을 수십 개 뽑으면 톤이 흔들리는 이유와, 좋은·나쁜 레퍼런스와 질문형 체크리스트로 허용 범위를 고정하는 방법을 정리했어요.2026년 8월 13일·5분 읽기
프론트엔드웹훅 안전하게 받기: HMAC 서명검증·재전송 방지·멱등 처리 3종 세트Next.js Route Handler로 웹훅을 받을 때 필요한 HMAC 서명검증, 타임스탬프 재전송 방지, 멱등 키 처리를 프론트엔드 개발자 관점으로 정리했어요.2026년 8월 13일·5분 읽기
백엔드크레딧이 두 번 차감되는 버그, SELECT FOR UPDATE로 잡는 법동시 요청에 크레딧이 두 번 빠지는 race condition의 원인과 SELECT FOR UPDATE 락, 단일 트랜잭션으로 잡는 과정을 정리했어요.2026년 8월 13일·4분 읽기
AI 정보오케스트레이션 프롬프트에 '모델은 알아서' 넣었다가 토큰이 터진 이유멀티에이전트 워크플로우에서 모델 선택을 위임하면 왜 전부 최고가 모델로 수렴하는지, 단계별 모델 명시로 토큰 비용을 잡은 과정을 정리했어요.2026년 8월 13일·5분 읽기
개발일지대화형에선 붙던 MCP가 크론에서만 죽은 이유대화형 세션에선 잘 붙던 MCP 서버가 크론에서만 연결 실패하던 문제를 환경변수 세션 스코프로 풀어낸 빌드로그예요.2026년 8월 12일·5분 읽기
브랜딩·마케팅플랜 시리즈냐 독립 브랜드냐, 1인 개발사 네이밍 고민제품마다 새 이름을 지을지, 하나의 시리즈로 묶을지. 1인 개발사가 네이밍 구조를 정할 때 따져본 기준을 정리했어요.2026년 8월 12일·5분 읽기
프론트엔드제품 라인을 미리 여는 프론트엔드 구조: plan-a~z 네이밍제품 이름을 plan-a~z로 미리 열어두면 화면 쪽도 준비가 필요해요. 레지스트리 한 곳과 공유 셸로 새 플랜을 몇 분 만에 붙이는 프론트엔드 구조를 정리했어요.2026년 8월 12일·5분 읽기
백엔드다크모드 브랜드 색, 순수 반전 대신 서버 토큰으로 지키기다크모드에서 순수 반전을 걸면 브랜드 색상이 틀어져요. 시맨틱 토큰 2벌 저장과 서버측 초기 테마 주입으로 브랜드를 지키는 백엔드 관점을 정리했어요.2026년 8월 12일·4분 읽기
AI 정보AI 자동화 재시도, 횟수 말고 원인으로 나누기AI 자동화 루프가 실패할 때 재시도 횟수만 세지 말고, 원인별로 라우팅하면 헛도는 재시도를 줄일 수 있어요.2026년 8월 12일·5분 읽기
개발일지pnpm minimumReleaseAge 604800의 함정 — 단위는 초가 아니라 분이었어요공급망 방어로 pnpm minimumReleaseAge를 604800으로 박았는데, 단위가 초가 아니라 분이라 실제로는 420일을 기다리는 설정이었어요. 7일은 10080이 맞았습니다.2026년 8월 11일·4분 읽기
브랜딩·마케팅제품 8개, 브랜드 컬러 8가지를 토큰 하나로 관리하기혼자 여러 제품을 만들 때 색이 제품마다 흔들리는 문제를, 색을 이름으로 관리하는 3층 토큰 뼈대 하나로 정리한 방법이에요.2026년 8월 11일·5분 읽기
제품소개1인 회사 콕핏, 위젯을 늘릴수록 안 보게 되는 이유지표 위젯을 계속 붙이다 오히려 대시보드를 안 열게 된 경험과, 핵심 표면만 남겨 다시 보게 만든 정리 과정을 담았어요.2026년 8월 11일·5분 읽기
프론트엔드'알아서 렌더'에 맡겼다가 요청이 12배 늘어난 이야기컴포넌트마다 알아서 처리하라고 맡기면 기본값이 가장 무거운 쪽을 골라요. 화면 단위로 명시해서 요청과 비용을 줄인 과정을 정리했어요.2026년 8월 11일·5분 읽기
백엔드빈 일기장 첫 화면, 백엔드에서 초대장으로 바꾸기마음기록 앱의 텅 빈 첫 화면을 프론트가 아니라 백엔드에서 세 가지 상태로 나누고 초대장으로 바꾸는 과정을 정리했어요.2026년 8월 11일·4분 읽기
AI 정보조용히 멈춘 cron 탐지하기 — 자동화에 데드맨 스위치 달기cron이 조용히 멈추면 에러도 알림도 안 남아요. 자동화 루프에 데드맨 스위치를 붙여 조용한 멈춤을 탐지하는 방법을 직접 해본 경험으로 정리했어요.2026년 8월 11일·5분 읽기
개발일지헤드리스 codex exec가 훅을 건너뛰는 false-green 막기헤드리스 codex exec가 대화형 훅을 조용히 건너뛰어 생기는 false-green을, 게이트를 실행 경로에 배선해 막은 1인 개발 기록이에요.2026년 8월 10일·4분 읽기
브랜딩·마케팅같은 회사, 다른 목소리: 제품별 브랜드 보이스 나누는 기준1인 브랜드가 금융계산기부터 정신건강 앱까지 제품마다 톤을 어떻게 나눴는지, 목소리를 가르는 세 가지 기준을 정리했어요.2026년 8월 10일·5분 읽기
제품소개마음기록 앱에 연속기록 스트릭을 넣지 않은 이유플랜티(plan-t)를 만들며 연속기록 스트릭을 빼기로 한 결정과, 그 자리에 대신 넣은 장치를 1인 개발자 관점에서 정리했어요.2026년 8월 10일·5분 읽기
프론트엔드debounce 자동저장, 화면을 떠날 때 마지막 입력이 사라진다면화면 전환이나 탭 종료 순간 debounce 타이머가 취소돼 마지막 입력이 저장되지 않는 문제를 flush와 sendBeacon으로 막는 방법을 정리했어요.2026년 8월 10일·5분 읽기
백엔드'사기 정리앱' 소리 듣는 앱, 백엔드로 정직함 증명하기계산기·정리 도구처럼 흔한 유틸리티 앱이 오해받는 이유와, 인증·API·데이터 구조로 정직함을 증명하는 백엔드 설계 이야기예요.2026년 8월 10일·5분 읽기
AI 정보LLM 라우팅에 unknown 레인이 없으면 입력이 새어나가요LLM 분류·라우팅에서 unknown 레인을 빼면 애매한 입력이 오분류되거나 조용히 사라져요. 격리와 로그로 새는 지점을 눈에 보이게 만드는 법을 정리했어요.2026년 8월 10일·5분 읽기
개발일지DB 없이 URL에 상태를 담아 계산 결과를 공유하기플랜씨(plan-c) 계산기 결과를 링크 하나로 공유하려고 서버 DB 대신 URL에 상태를 담기로 한 과정과 트레이드오프를 정리했어요.2026년 8월 9일·4분 읽기
브랜딩·마케팅앱스토어 스크린샷 72장, 미리보기를 먼저 둔 이유12장을 6개 언어로 뽑으면 72장. 삭제·저장 버튼보다 미리보기를 먼저 보여준 결정이 1인 브랜드 콘텐츠 운영에 만든 차이를 정리했어요.2026년 8월 9일·5분 읽기
제품소개삭제 버튼을 첫 화면에서 숨긴 이유 — 신뢰 온보딩맥 클리너가 삭제 버튼을 첫 화면에서 숨기는 이유를 신뢰 온보딩 관점에서 풀고, 플랜 시리즈에 적용한 첫 화면 설계 경험을 정리했어요.2026년 8월 9일·4분 읽기
프론트엔드textarea 자동 높이, 떨림 없이 늘리는 법키 입력마다 height를 auto로 리셋하면 화면이 떨려요. 마음기록 에디터를 만들며 scrollHeight를 떨림 없이 다루는 방법을 정리했어요.2026년 8월 9일·4분 읽기
백엔드1인 개발도 '우리'라고 써도 될까 — 백엔드 actor로 정직하게혼자 만드는데 공지에 '저희가'라고 쓰기 애매할 때, 인원수 대신 시스템 주체를 로그·DB·발신자 필드에 정직하게 담는 백엔드 설계 이야기예요.2026년 8월 9일·5분 읽기
AI 정보status=success인데 게시가 안 됐다 — false-green 잡는 법자동화 로그는 초록불인데 실제 결과물이 없어요. status=success만 믿으면 놓치는 false-green을, 결과가 나온 자리를 다시 확인하는 surface check로 잡는 방법을 정리했어요.2026년 8월 9일·5분 읽기
개발일지한글 입력 중 onChange가 두 번 터질 때 — IME 조합 이벤트 다루기한글로 폼을 채우면 onChange가 여러 번 터지고 Enter가 두 번 실행되는 이유와, isComposing으로 잡는 법을 빌드로그로 정리했어요.2026년 8월 8일·4분 읽기
제품소개차트가 안 그려질 때, resize 이벤트 대신 ResizeObserver창 크기는 그대로인데 차트만 찌그러질 때가 있어요. window resize 대신 ResizeObserver로 컨테이너 크기 변화를 직접 감지해 다시 그리는 방법을 정리했어요.2026년 8월 8일·4분 읽기
프론트엔드감정 기록 잔디 히트맵, CSS grid로 만들고 스크린리더까지한 해의 감정 기록을 잔디처럼 한 화면에 보여주는 히트맵을 CSS grid로 만들고, 색맹·스크린리더 사용자까지 챙기는 접근성 처리를 정리했어요.2026년 8월 8일·5분 읽기
백엔드되돌릴 수 없는 삭제, 백엔드 안전장치는 어디까지?되돌릴 수 없는 하드 삭제 앞에서 소프트 삭제·유예 기간·감사 로그를 어디까지 넣을지 백엔드 관점으로 정리했어요.2026년 8월 8일·5분 읽기
AI 정보모달 포커스 트랩, AI 코드에서 최소 구현만 남기기AI에게 모달 포커스 트랩을 시키면 라이브러리부터 권해요. 네이티브 dialog와 짧은 키보드 핸들러로 최소 구현만 남긴 과정을 정리했어요.2026년 8월 8일·4분 읽기
제품소개라이브러리 없이 드래그로 크기 조절되는 분할 패널 만들기분할 패널 라이브러리 대신 포인터 이벤트 3개로 드래그 크기 조절을 직접 붙인 과정과 놓치기 쉬운 마무리를 정리했어요.2026년 8월 7일·5분 읽기
개발일지이미지 미리보기가 메모리를 먹는 이유 — createObjectURL 정리하기이미지 업로드 미리보기를 만들다 메모리가 계속 늘던 문제를, createObjectURL을 revoke하지 않아 생긴 일과 useEffect 정리 함수로 잡은 과정으로 풀었어요.2026년 8월 6일·4분 읽기
브랜딩·마케팅독일어는 왜 프레임 밖으로 넘칠까 — 캔버스 텍스트 자동 맞춤언어마다 배너 글자가 삐져나오는 1인 브랜드의 반복 노동을, 캔버스 텍스트 자동 맞춤 한 줄로 줄여본 기록이에요.2026년 8월 6일·5분 읽기
제품소개Next.js와 FastAPI 사이에서 조용히 깨진 JSON, 이렇게 막았어요프론트에서 보낸 값이 백엔드에서 소리 없이 사라질 때, Date·undefined·BigInt 손실을 zod 왕복 테스트로 막은 방법을 정리했어요.2026년 8월 6일·5분 읽기
AI 정보RLS는 최종 경계로만: 복잡한 인가를 서버 코드로 되돌린 이유AI 코딩 도구가 인가 분기를 전부 RLS 정책에 몰아넣기 쉬운데, 단위 테스트가 막히는 문제를 겪고 복잡한 판단을 서버 코드로 되돌린 경험을 정리했어요.2026년 8월 6일·4분 읽기
개발일지튜토리얼 없이 첫 화면에서 바로 쓰게 만든 과정온보딩 화면을 지우고 첫 화면에 핵심 기능 하나만 남긴 이유와, 1인 개발자로서 그 과정에서 겪은 선택을 정리했어요.2026년 8월 5일·4분 읽기
브랜딩·마케팅빈 화면이 첫인상이에요: 데이터 0인 첫날 화면 설계데이터가 0인 첫날의 빈 화면을 1인 브랜드가 온보딩 카피이자 첫인상으로 활용하는 방법을 직접 적용한 경험으로 정리했어요.2026년 8월 5일·4분 읽기
제품소개Supabase 무료 프로젝트, 7일 pause를 Workers Cron으로 막기접속이 뜸한 무료 Supabase 프로젝트가 7일이면 멈춰요. Workers Cron으로 하루 한 번 깨워 두는 방법을 직접 적용해 정리했어요.2026년 8월 5일·4분 읽기
프론트엔드긴 법률 문서 목차 스크롤스파이, 깜빡임 없이 하이라이트하기조항이 수십 개인 긴 문서에서 목차 활성 항목이 튀는 깜빡임을 IntersectionObserver의 rootMargin 밴드로 잡는 프론트엔드 구현 방법을 정리했어요.2026년 8월 5일·5분 읽기
백엔드캐시 만료 순간 DB로 몰리는 요청, single-flight로 막기캐시가 만료되는 찰나 수많은 요청이 한꺼번에 DB로 쏟아지는 Cache Stampede를, single-flight로 한 번만 계산하게 막는 백엔드 패턴을 정리했어요.2026년 8월 5일·5분 읽기
브랜딩·마케팅모델 바꿨다가 캐시가 전멸했어요 — 1인 브랜드의 프롬프트 캐싱 규율AI로 콘텐츠를 대량 생성하는 1인 브랜드가 프롬프트 캐싱을 놓치면 토큰 비용이 새어나가요. 세션 중간 모델 교체가 왜 캐시를 전멸시키는지 정리했어요.2026년 8월 4일·6분 읽기
제품소개제품 8개가 UI 킷 하나를 공유하는 법: 공통과 분기제품 8개가 UI 킷 하나를 나눠 쓸 때, 색·간격 같은 기본기는 공통으로 묶고 도메인 화면은 갈라놓은 기준을 정리했어요.2026년 8월 4일·5분 읽기
프론트엔드컴포넌트를 늘리지 말고 쳐내기: 성숙기 프론트엔드 정리법컴포넌트를 자꾸 새로 만들면 화면이 무거워져요. 도구 정리에서 배운 '쳐내기' 원칙을 프론트엔드 컴포넌트에 적용한 실전 기록이에요.2026년 8월 4일·4분 읽기
백엔드timestamptz vs timestamp, KST로 하루 밀린 날짜 버그 잡기포스트그레의 timestamp와 timestamptz 차이 때문에 KST 새벽 데이터가 하루 밀리던 집계 버그를 UTC 저장·표시 변환으로 잡은 방법이에요.2026년 8월 4일·5분 읽기
개발일지빌더는 리뷰어가 될 수 없다 — 커밋 게이트를 훅으로 강제한 이유혼자 개발하면서 구현과 리뷰를 같은 손이 하면 안 된다는 걸 깨닫고, 커밋 게이트를 훅으로 강제한 과정을 정리했어요.2026년 8월 3일·5분 읽기
브랜딩·마케팅auth.uid()로 팀 격리가 안 됐던 날, 개발 실수를 콘텐츠로auth.uid()만으로는 팀 데이터 격리가 안 되는 이유와, 1인 개발자가 그 교훈을 브랜드 콘텐츠로 바꾸는 법을 정리했어요.2026년 8월 3일·5분 읽기
제품소개전체 디스크 접근 권한, 거부당하지 않게 요청하는 법맥 클리너의 전체 디스크 접근 권한 요청 흐름을 뜯어보고, 앱이 권한을 거부당하지 않게 부탁하는 법을 플랜 시리즈 사례로 정리했어요.2026년 8월 3일·5분 읽기
프론트엔드삭제하는 앱이 신뢰를 얻는 법: 미리보기와 되돌리기 UI파일 삭제 앱의 신뢰를 만드는 미리보기 패널과 되돌리기 스낵바를 프론트엔드 관점에서 구현하는 방법을 정리했어요.2026년 8월 3일·5분 읽기
백엔드FastAPI를 Railway에 올렸더니 Supabase 커넥션이 고갈된 이유FastAPI를 Railway에 배포한 뒤 Supabase 커넥션이 금방 바닥나는 이유와 Supavisor 트랜잭션 풀링으로 해결한 과정을 정리했어요.2026년 8월 3일·5분 읽기
AI 정보환경변수로 붙인 MCP가 cron에서만 조용히 죽는 이유대화형에선 잘 되던 MCP 연결이 무인 자동화에서만 조용히 실패하는 세션 스코프 인증 함정과 해결법을 정리했어요.2026년 8월 3일·5분 읽기
개발일지삭제 확인 UX 만들기: 되돌릴 수 없는 작업을 안전하게 하는 3가지맥 정리 도구를 직접 만들며 적용한, 되돌릴 수 없는 삭제를 안전하게 감싸는 세 가지 장치를 빌드로그로 정리했어요.2026년 8월 2일·4분 읽기
브랜딩·마케팅'자동 실행' 버튼을 일부러 뺀 결정, 브랜드 콘텐츠가 됩니다고위험 기능에 자동 실행을 넣지 않은 제품 결정을 1인 브랜드가 신뢰 콘텐츠로 풀어내는 방법을 정리했어요.2026년 8월 2일·4분 읽기
제품소개계산기 앱에 로그인 벽을 세우지 않은 이유무료 금융계산기 플랜씨(plan-c)를 만들며 로그인 없이 바로 쓰게 둔 이유와, 로그인 벽이 계산기 같은 도구에 왜 안 맞는지 직접 겪은 이야기를 정리했어요.2026년 8월 2일·5분 읽기
프론트엔드법률 앱에 '자문 아님' 문구, 거슬리지 않게 심는 법법령·판례 검색 화면에 법률 자문 아님 고지를 놓치지 않으면서도 방해되지 않게 넣는 프론트엔드 구현 방법을 정리했어요.2026년 8월 2일·4분 읽기
백엔드AI 요약 API 비용 폭탄 막기: max_tokens 하드캡과 Redis 레이트리밋클라이언트 제한만 믿으면 AI 요약 엔드포인트는 언제든 비용 폭탄이 돼요. 서버에서 max_tokens를 하드캡으로 고정하고 Redis로 호출 횟수를 막는 방법을 백엔드 관점으로 정리했어요.2026년 8월 2일·5분 읽기
AI 정보헤드리스 AI 에이전트가 훅을 건너뛸 때, 게이트를 스크립트에 넣는 법claude -p와 codex exec 같은 헤드리스 모드는 대화형 훅을 건너뛰어 false-green을 만들어요. 게이트를 실행 스크립트에 직접 넣는 방법을 정리했어요.2026년 8월 2일·5분 읽기
개발일지다국어 앱스토어 스크린샷, 텍스트가 박스를 넘칠 때 Canvas로 맞춘 기록언어마다 카피 길이가 달라 앱스토어 스크린샷 텍스트가 박스를 넘칠 때, Canvas measureText와 이진탐색으로 폰트를 자동으로 맞춘 과정을 정리했어요.2026년 8월 1일·5분 읽기
브랜딩·마케팅라이브러리 없이 드래그로 순서 바꾸기, 1인 브랜드가 직접 만든 이유리스트 순서를 드래그로 바꾸는 기능을 라이브러리 없이 포인터 이벤트 세 개로 만들었어요. 1인 브랜드가 콘텐츠와 우선순위를 정리할 때 가벼운 직접 구현이 왜 나은지 정리했어요.2026년 8월 1일·5분 읽기
제품소개UTC로 저장하고 KST로 보여주기: Postgres 타임존 함정동호회 앱 경기 시간이 어긋나는 건 대부분 타임존 정보가 빠진 자리예요. 저장은 UTC, 표시는 KST로 정리하는 실전 원칙을 담았어요.2026년 8월 1일·4분 읽기
프론트엔드금융계산기 슬라이더와 숫자 입력, 값이 튀는 이유슬라이더와 숫자 입력을 양방향으로 묶으면 값이 튀는데요, 원인 세 가지와 프론트엔드에서 안정적으로 동기화하는 방법을 정리했어요.2026년 8월 1일·6분 읽기
백엔드FastAPI 응답을 camelCase로: Pydantic alias_generator 실전백엔드는 snake_case, 프론트는 camelCase. FastAPI에서 Pydantic alias_generator로 응답 키를 자동 변환해 프론트 계약을 맞춘 과정을 정리했어요.2026년 8월 1일·5분 읽기
AI 정보맥 클리너에 맡기기 전에: '지워도 되는 파일' 기준선 만들기맥 클리너가 알아서 지우게 두는 대신, 재생성·복원·사용자 데이터·알 수 없음 4개 레인으로 나눠 애매한 것만 AI에 맡기는 삭제 기준선을 직접 만들어 봤어요.2026년 8월 1일·5분 읽기
개발일지Upstash Redis 무료 DB 1개, prefix로 서비스 여러 개 굴리기Upstash Redis 무료 DB 1개를 key prefix로 나눠 여러 서비스에서 쓰는 네임스페이스 설계와 FLUSHDB·라이브러리 키·한도 공유 함정을 정리했어요.2026년 7월 31일·5분 읽기
브랜딩·마케팅Neon으로 사이드 프로젝트 DB 고정비 0원 운영하기서버리스 Postgres Neon 무료 플랜으로 사이드 프로젝트 DB 고정비를 0원으로 묶고, 브랜치 실험까지 콘텐츠로 만드는 1인 브랜드 운영법을 정리했어요.2026년 7월 31일·4분 읽기
제품소개Pretendard 웹폰트 때문에 CLS 점수가 깎일 때 잡는 법Pretendard 웹폰트가 CLS 점수를 깎는 원인과 폴백 메트릭 보정 3단계 해결 과정을 플랜씨(plan-c) 계산기 화면 기준으로 정리했어요.2026년 7월 31일·3분 읽기
개발일지Supabase 무료 프로젝트 4개 잠들지 않게 하기 — Workers Cron 설계Supabase 무료 플랜은 7일 비활동이면 프로젝트가 잠들어요. 프로젝트 4개를 Workers Cron 하나로 깨워두는 keepalive 설계와 시행착오를 정리했어요.2026년 7월 30일·5분 읽기
브랜딩·마케팅회원 탈퇴 시 결제이력을 지우면 안 되는 이유와 익명화 설계탈퇴 처리에서 결제이력을 하드 딜리트하면 안 되는 법적 이유, soft-delete와 PII 익명화 3단계 설계, 1인 브랜드가 이를 신뢰 콘텐츠로 쓰는 방법을 정리했어요.2026년 7월 30일·4분 읽기
제품소개로컬 소형 LLM은 언제 쓸까 — RAG 먼저, 파인튜닝은 마지막로컬 소형 LLM은 대량 배치와 민감 데이터에만, 도메인 지식은 RAG 먼저. 1인 개발자가 플랜 시리즈를 만들며 정리한 선택 기준이에요.2026년 7월 30일·4분 읽기
프론트엔드Zustand persist가 SSR hydration mismatch를 터뜨리는 이유Zustand persist가 Next.js SSR에서 hydration mismatch 경고를 만드는 원인과 마운트 플래그, skipHydration 해결법을 정리했어요.2026년 7월 30일·4분 읽기
백엔드감정 데이터 필드 암호화, pgsodium 대신 앱 레이어 AES-GCM을 택한 이유감정·건강 데이터 필드레벨 암호화를 DB 확장 대신 앱 레이어 AES-GCM으로 구현한 이유와 IV·키 관리 규칙, 트레이드오프를 정리했어요.2026년 7월 30일·5분 읽기
AI 정보AI 자가학습 루프에 lineage를 넣어야 하는 이유출력이 다시 입력이 되는 AI 자가학습 루프에서 lineage(계보) 기록이 왜 필수인지, 필드 3개로 시작하는 방법을 정리했어요.2026년 7월 30일·4분 읽기
개발일지스크린샷 실시간 미리보기, Canvas 합성 성능 잡기미리보기가 버벅일 때 Canvas를 매번 통째로 다시 그리지 않고 비트맵 캐싱·rAF·devicePixelRatio 보정으로 성능을 잡은 1인 개발 빌드로그예요.2026년 7월 29일·5분 읽기
브랜딩·마케팅제품명 확정 전 30분 네임 검증 루틴: 도메인·앱스토어·상표이름을 확정하기 전에 도메인·앱스토어·상표 세 곳을 30분 안에 훑는 1인 브랜드용 검증 순서를 정리했어요.2026년 7월 29일·5분 읽기
제품소개제품 4개를 혼자 운영할 때 우선순위 정하는 법혼자 여러 제품을 만들 때 매일 뭘 먼저 할지 정하는 기준을, 플랜 시리즈를 운영하며 정리한 방법으로 풀어봤어요.2026년 7월 29일·4분 읽기
프론트엔드next-themes 없이 다크모드 깜빡임(FOUC) 없애는 법다크모드 새로고침 때 화면이 번쩍하는 FOUC를, 라이브러리 없이 head 인라인 스크립트 몇 줄로 없애는 방법을 정리했어요.2026년 7월 29일·5분 읽기
백엔드offset 페이지네이션이 느려지는 이유와 커서 전환기목록 API에서 offset 페이지네이션이 깊은 페이지일수록 느려지는 이유와, 커서(keyset) 방식으로 바꾸며 얻은 것과 포기한 것을 정리했어요.2026년 7월 29일·5분 읽기
AI 정보AI 에이전트 메모리를 파일로 관리하며 배운 것자동으로 쌓이는 AI 메모리의 상당수를 버리고 파일 한 개에 사실 하나씩만 남겼더니 검색이 정확해졌어요.2026년 7월 29일·4분 읽기
개발일지긴 세션이 코드 품질을 갉아먹어요: 컨텍스트 예산 규율긴 코딩 세션에서 코드 품질이 조용히 나빠지는 이유와, 컨텍스트 예산으로 세션을 끊어 관리한 1인 개발 경험을 정리했어요.2026년 7월 28일·4분 읽기
브랜딩·마케팅AI가 쓰고 사람이 누른다: 1인 브랜드 콘텐츠 품질 루프AI 초안을 그대로 발행하지 않고, 게이트와 사람 확인을 거쳐 브랜드 톤을 지키는 콘텐츠 운영 루프를 정리했어요.2026년 7월 28일·4분 읽기
제품소개1인 회사 콕핏에 지표를 딱 하나만 남긴다면여러 플랜을 혼자 운영하면서 대시보드 지표를 하나로 줄여봤어요. 무엇을 남기고 무엇을 버렸는지 정리했어요.2026년 7월 28일·5분 읽기
프론트엔드기록 수백 개에서 스크롤이 버벅일 때, 리스트 가상화 도입기기록이 수백 개로 늘며 버벅이던 스크롤을, 안 보이는 항목은 안 그리는 리스트 가상화로 매끄럽게 만든 프론트엔드 구현기예요.2026년 7월 28일·4분 읽기
백엔드크론 중복 실행, Postgres SKIP LOCKED와 advisory lock으로 막기인스턴스를 늘렸더니 크론이 두 번 도는 문제를, 새 라이브러리 없이 Postgres 잠금 두 가지로 막은 방법을 정리했어요.2026년 7월 28일·5분 읽기
AI 정보프롬프트 캐시 적중률만 올렸더니 Claude 토큰비용이 줄었어요자동화 워크플로우에서 Claude 토큰비용이 늘 때, 프롬프트 캐시 적중률을 올려 비용을 줄인 기록을 정리했어요.2026년 7월 28일·5분 읽기
개발일지status=success인데 글이 안 올라갔다: 발행 파이프라인 false-green 잡기자동 발행 실행 기록은 전부 성공인데 블로그엔 새 글이 없던 문제를, 표면을 직접 확인하는 점검으로 잡은 1인 개발 빌드로그예요.2026년 7월 27일·5분 읽기
브랜딩·마케팅비공개 제품이 섞인 포트폴리오, 빌드인퍼블릭 브랜딩하는 법공개하기 이른 제품이 하나 있어도 빌드인퍼블릭은 가능해요. 1인 브랜드가 비공개 제품을 감추지 않고 브랜딩 재료로 쓰는 방법을 정리했어요.2026년 7월 27일·5분 읽기
제품소개동호회 회비·출석, 어디까지 자동화할지 정한 3가지 기준회비·출석 관리를 앱으로 만들 때 무엇을 자동으로 돌리고 무엇을 사람 손에 남길지, 플랜비를 만들며 정한 판단 기준을 정리했어요.2026년 7월 27일·5분 읽기
프론트엔드React Query 낙관적 업데이트로 참석 토글 UX 매끄럽게 만들기참석 여부를 누르는 순간 화면이 바로 바뀌고, 서버가 실패하면 원래대로 되돌리는 낙관적 업데이트 패턴을 프론트엔드 구현 관점에서 정리했어요.2026년 7월 27일·5분 읽기
백엔드결제 webhook 소비자 하드닝: HMAC·replay·멱등 3겹 방어결제 webhook을 안전하게 받으려면 HMAC 서명검증, replay 윈도우, 멱등 처리 세 겹이 필요해요. 백엔드에서 직접 붙이며 정리한 순서와 함정을 담았어요.2026년 7월 27일·5분 읽기
개발일지SNS 자동화에서 자동승인을 뺀 이유SNS 자동화에서 자동승인을 걷어내고 게시 직전 검토 한 단계를 남긴 이유를, 1인 개발 빌드로그로 정리했어요.2026년 7월 26일·4분 읽기
브랜딩·마케팅1인 브랜드가 매일 글을 자동 발행하는 구조 만들기의지에 기대지 않고 매일 초안 한 편이 자동으로 준비되는 콘텐츠 구조를, 1인 브랜드 관점에서 단계 분리와 톤 관리 중심으로 정리했어요.2026년 7월 26일·4분 읽기
제품소개나만 쓰는 도구, UI를 어디까지 다듬어야 할까혼자 쓰는 개인 도구와 남에게 주는 제품은 UI 기준이 다릅니다. 라이프케어로그 플랜 시리즈를 만들며 정한 판단선을 나눠요.2026년 7월 26일·4분 읽기
프론트엔드금융 계산기 입력창, 천단위 콤마에 커서가 튀는 문제 해결숫자 입력창에 천단위 콤마를 넣으면 커서가 맨 뒤로 튀는 문제를, selectionStart로 자릿수를 세서 커서 위치를 되돌리는 방법으로 정리했어요.2026년 7월 26일·5분 읽기
백엔드승인 버튼을 두 번 눌러도 안전한 이유: CAS와 멱등키승인 버튼을 두 번 눌러도 중복 처리되지 않게 막는 백엔드 패턴 — 멱등키(nonce)로 같은 요청을, CAS로 같은 상태 변경을 한 번만 처리하는 방법을 정리했어요.2026년 7월 26일·5분 읽기
AI 정보1인 개발자 콕핏, 지표 대시보드에서 '오늘 할 일' 도구로 바꾼 이유지표만 잔뜩 띄운 대시보드를 접고, 자동화가 밤사이 처리한 일과 내 결정이 필요한 것만 남긴 '오늘 할 일' 콕핏으로 재설계한 과정과 이유를 정리했어요.2026년 7월 26일·5분 읽기
제품소개마음기록 앱 디자인 리프레시, 화이트+그린으로 바꾼 이유마음기록 앱 디자인 리프레시 과정을 정리했어요. 화이트+그린 전면 교체로 세운 색 규칙 세 줄과 토큰 정리 순서, 배운 점을 공유해요.2026년 7월 25일·5분 읽기
프론트엔드useEffect에 이름을 붙이면 코드가 달라지는 이유useEffect를 이름 있는 함수나 커스텀 훅으로 빼면 React 동작보다 컴포넌트 경계와 디버깅 방식이 먼저 달라져요.2026년 7월 25일·6분 읽기
백엔드중복 게시 0을 노리는 outbox 패턴외부 API 성공과 DB 기록 사이의 빈칸 때문에 생기는 중복 게시를 outbox 상태머신과 reconcile로 줄이는 실전 구조를 정리했어요.2026년 7월 25일·4분 읽기
AI 정보LLM 파이프라인 오류 분류 3가지와 재시도 설계LLM 파이프라인에서 timeout, 401/403, 5xx를 한데 묶지 말고 retryable·permanent·auth로 나눠야 재시도와 DLQ가 단순해져요.2026년 7월 25일·4분 읽기
개발일지n8n 자동 업그레이드 사고 회고, credential이 사라진 날n8n 컨테이너 자동 업그레이드 후 credential과 데이터가 사라진 사고를 복구한 기록. 암호화 키 고정, 버전 고정, 백업 3가지로 재발을 막았어요.2026년 7월 24일·5분 읽기
브랜딩·마케팅1인 브랜드 채널별 콘텐츠 전략, X는 how-to 인스타는 브랜드같은 글을 두 채널에 복붙하다 멈추고, X는 how-to·인스타그램은 브랜드 이야기로 나눈 기준과 1인 운영 리듬을 정리했어요.2026년 7월 24일·5분 읽기
제품소개앱스토어 스크린샷 현지화 도구를 직접 만든 이유플랜 시리즈 앱의 스토어 스크린샷을 여러 언어로 준비하다 반복 작업이 곱셈으로 늘어, 현지화 도구를 직접 만든 과정을 정리했어요.2026년 7월 24일·5분 읽기
프론트엔드로그인은 됐는데 새로고침하면 풀려요? 세션 유지 구현법새로고침만 하면 로그아웃되는 원인을 토큰 보관·세션 복원·라우트 가드 세 갈래로 나눠 프론트엔드에서 고치는 방법을 정리했어요.2026년 7월 24일·4분 읽기
AI 정보codex CLI가 무한 대기에 빠지는 이유 3가지와 해결법스크립트에서만 멈추는 codex exec, 직접 재현해 보니 stdin 대기·신뢰 디렉토리·타임아웃 부재가 원인이었어요. 한 줄 해결법을 정리했어요.2026년 7월 24일·5분 읽기
개발일지launchd, n8n, Codex 예약 작업을 나눠 쓰는 기준반복 작업을 전부 한 도구에 맡기면 운영이 흐려져요. 로컬 Mac mini에서는 launchd, n8n, Codex/Cowork 예약, GitHub Actions를 성격별로 나눠 쓰는 편이 안정적이었어요.2026년 7월 7일·6분 읽기
개발일지로컬 AI 회사가 멈췄을 때 먼저 확인한 것들24시간 돌아가는 로컬 AI 회사가 멈춘 것처럼 보일 때, 저는 모델 한도보다 먼저 스케줄러, 실행 모드, 로그, 실제 컨테이너 상태를 확인해요. 오늘 점검한 순서를 기록해 둡니다.2026년 7월 7일·6분 읽기
브랜딩·마케팅AI가 글을 써도 발행 버튼은 사람이 눌러야 하는 이유블로그 자동화에서 글을 만드는 것과 공개 발행은 다른 문제예요. 라이프케어로그는 AI가 초안을 도와도 fact gate, originality gate, 사람 검토를 거친 뒤 발행하는 쪽을 택했어요.2026년 7월 7일·6분 읽기
제품소개글래스룸에 필요한 다음 화면: AI 작업 승인 큐AI 에이전트가 24시간 일하려면 대시보드만으로는 부족해요. 무엇이 막혔고, 어떤 작업은 사람이 승인해야 하는지 모아 보여주는 승인 큐가 필요합니다.2026년 7월 7일·6분 읽기
AI 정보AI가 내 브라우저와 메일을 대신 보게 할 수 있을까?로그인된 Chrome 창, Gmail, 강의 페이지를 AI가 대신 보고 요약하게 할 수는 있어요. 다만 읽기, 초안 작성, 실제 전송과 결제는 권한 단계를 나누고 승인 게이트를 둬야 안전합니다.2026년 7월 7일·7분 읽기
AI 정보Claude 사용량이 막혔을 때 Codex로 이어받는 1인 개발 워크플로우Claude가 메인 구현 도구여도 사용량 한도나 장애가 생기면 일이 멈출 수 있어요. 그래서 Claude primary, Codex fallback, 둘 다 실패하면 사람 검토로 멈추는 구조를 1인 개발 워크플로우에 붙였어요.2026년 7월 7일·8분 읽기
개발일지1인 개발자가 금융계산기에 꼭 넣는 기능 7가지와 수익화 구조무료 금융계산기 플랜씨(plan-c)를 혼자 만들며 정리한 필수 기능 7가지와 애드센스·제품 유입으로 이어지는 수익화 구조를 공유해요.2026년 7월 6일·5분 읽기
브랜딩·마케팅Claude로 긴 글 요약하는 방법: 1인 브랜드 프롬프트와 세팅긴 글을 Claude로 300자 요약해 SNS·뉴스레터 소재로 재활용하는 1인 브랜드의 프롬프트 예시와 실전 세팅을 정리했어요.2026년 7월 6일·5분 읽기
제품소개감정 기록 자동화와 주간 리포트 만드는 법, 플랜티 마음기록 이야기감정 기록이 3일을 못 넘긴다면 기록 자동화 3단계와 주간 리포트 정리법을 해보세요. 개발 중인 플랜티 마음기록에 담는 방식이에요.2026년 7월 6일·5분 읽기
프론트엔드n8n 블로그 글 자동 발행 워크플로우, 프론트엔드 설계법n8n으로 블로그 글을 자동 발행할 때 프론트엔드가 준비할 frontmatter 스키마, publish 게이트, MDX 컴포넌트 화이트리스트를 직접 만든 경험으로 정리했어요.2026년 7월 6일·4분 읽기
백엔드FastAPI로 AI 요약 기능 붙이기: 실전 코드와 배포 체크리스트FastAPI에 AI 요약 엔드포인트를 붙이는 최소 코드와 배포 전 점검 항목 5가지를 1인 개발자 경험으로 정리했어요.2026년 7월 6일·4분 읽기
AI 정보Claude로 블로그 초안 쓰는 프롬프트 예시 10개Claude로 블로그 초안을 빠르게 뽑는 프롬프트 10개를 목적별로 정리했어요. 개요 잡기부터 퇴고, 검증까지 그대로 복사해 쓸 수 있어요.2026년 7월 6일·5분 읽기
개발일지Supabase로 로그인 있는 MVP 만드는 방법: Next.js 예제Next.js와 Supabase Auth로 로그인 되는 MVP를 최소 코드로 만드는 흐름을, 혼자 개발하며 정리한 방식으로 담았어요.2026년 7월 2일·5분 읽기
제품소개플랜씨(plan-c) 금융계산기로 대출이자·원리금 비교하는 법원리금균등과 원금균등 상환이 어떻게 다른지 짚고, 플랜씨(plan-c) 금융계산기로 대출이자와 월 상환액을 비교하는 방법을 정리했어요.2026년 7월 2일·4분 읽기
프론트엔드Next.js 로그인, Supabase로 붙일 때 정리해둔 것Next.js App Router에 Supabase 인증을 붙일 때 환경변수, 클라이언트 분리, 세션 유지, RLS 순서로 정리한 실전 메모예요.2026년 7월 2일·5분 읽기
백엔드FastAPI로 환율·국채 금리 조회 API 만들기 초보 가이드실시간 환율과 국채 금리를 불러오는 조회 API를 FastAPI로 만드는 흐름을, 외부 API 호출부터 캐싱과 예외 처리까지 초보자 눈높이로 정리했어요.2026년 7월 2일·4분 읽기
AI 정보구글 트렌드 RSS로 매일 급상승 키워드 자동 수집하기구글 트렌드 급상승 검색어를 RSS로 받아 n8n이나 크론으로 매일 자동 수집하는 흐름을 단계별로 정리했어요.2026년 7월 2일·5분 읽기
개발일지가계부 자동화, Supabase·Notion 말고 쓸 수 있는 저장 구조 비교개인 가계부를 자동으로 정리할 때 데이터를 어디에 쌓을지, 구글 시트·Notion·Supabase·로컬 파일을 상황별로 비교해봤어요.2026년 7월 1일·4분 읽기
제품소개플랜씨(plan-c) 금융계산기로 대출 상환액·DSR 한눈에 보기대출 상환액과 DSR을 따로 계산하지 않고, 플랜씨(plan-c) 금융계산기에서 한 번에 비교하는 방법을 정리했어요.2026년 7월 1일·4분 읽기
프론트엔드Next.js에서 Claude API 연결하는 가장 쉬운 예제Next.js App Router에서 Anthropic SDK로 Claude API를 붙이는 최소 예제를 라우트 핸들러 코드와 함께 정리했어요.2026년 7월 1일·5분 읽기
AI 정보Claude로 n8n 자동화 워크플로우 만드는 법n8n의 AI Agent와 Anthropic 노드로 Claude를 연결해 반복 작업을 자동화하는 기본 흐름을 단계별로 정리했어요.2026년 7월 1일·5분 읽기
개발일지FastAPI와 Supabase로 로그인 MVP 만들기: 1인개발 실전 구조혼자 MVP를 만들 때 가장 막히는 인증과 DB 조합, FastAPI와 Supabase로 어떻게 나눠 붙이는지 실전 구조로 정리했어요.2026년 6월 30일·5분 읽기
제품소개플랜씨(plan-c) 이자 계산기, 적금·대출에 쓰는 법적금 만기 수령액부터 대출 이자까지, 플랜씨(plan-c) 이자 계산기를 실제 상황에 맞춰 쓰는 방법을 정리했어요.2026년 6월 30일·4분 읽기
프론트엔드Tailwind v4와 oklch로 1인 개발자 브랜드 색 만들기보라색 그라디언트로 도배된 'AI가 만든 듯한' 화면에서 벗어나고 싶었어요. Tailwind v4와 oklch로 차분한 브랜드 색을 잡고 라이트·다크를 한 번에 푼 방법을 정리했어요.2026년 6월 30일·4분 읽기
백엔드n8n dataTable로 외부 DB 없이 자동화 데이터 쌓기자동화에 작은 저장소가 필요할 때마다 DB를 새로 띄우긴 부담스러워요. n8n 내장 dataTable로 학습 데이터를 쌓고 다시 꺼내 쓰는 실전 패턴을 정리했어요.2026년 6월 30일·4분 읽기
AI 정보n8n으로 구글 트렌드 RSS 자동 수집하는 방법매일 손으로 트렌드를 확인하는 반복을 줄이고 싶다면, n8n 스케줄 트리거와 RSS 노드로 구글 트렌드를 자동 수집하는 흐름을 정리했어요.2026년 6월 30일·5분 읽기
개발일지블로그 홈을 참고 사이트처럼: 썸네일 중심 레이아웃과 생성형 커버색만 바꿨더니 '구성이 안 바뀌었다'는 피드백을 받았어요. 참고 사이트를 실제로 뜯어보고, 모든 글에 자동으로 붙는 생성형 커버부터 다시 만든 과정을 기록해요.2026년 6월 29일·7분 읽기
개발일지데이터 밀도 높은 리서치 콘솔을 만들며 배운 4가지근거를 인용으로 묶어 환각을 막고, 판단을 결정론적 규칙으로 바꾸고, 실행 전에 시뮬레이션을 기본값으로 두는 — 데이터가 빽빽한 대시보드를 만들며 정리한 엔지니어링 패턴이에요.2026년 6월 29일·6분 읽기
브랜딩·마케팅1인 개발자의 브랜드는 일관성에서 나와요마케팅 팀이 없는 1인 개발자에게 일관성은 그 자체로 마케팅이에요. AI 슬롭을 피하고, 참고는 베끼지 않고, 매체마다 같은 브랜드를 다른 옷으로 입히는 방법을 정리했어요.2026년 6월 29일·5분 읽기
제품소개글래스룸(glassroom): AI 에이전트 팀을 한눈에 보는 데스크톱 대시보드여러 AI 에이전트와 함께 일하다 보면 터미널만으로는 전체 상황이 안 보여요. 누가 뭘 하는지, 비용은 얼마인지, 어디까지 됐는지를 한 화면에 모은 글래스룸을 만들고 있어요.2026년 6월 29일·6분 읽기
제품소개plan-b(플랜비): 농구 동호회의 기록과 전술을 한곳에서출전 시간 계산, 경기 스탯, 전술보드, 회비까지 매주 반복하던 동호회 운영을 한 화면으로 모았어요. 플랜비가 실제로 어떤 걸 자동으로 해주는지 정리했어요.2026년 6월 29일·5분 읽기
제품소개plan-c(플랜씨): 로그인 없이 쓰는 무료 금융 계산기대출·월급·이자·저축 목표를 로그인 없이 숫자만 넣으면 바로 계산해줘요. 2026년 한국 세금과 4대보험까지 자동으로 반영하는 무료 금융 계산기 플랜씨를 소개해요.2026년 6월 29일·5분 읽기
제품소개plan-t(플랜티): 대화가 끝나면 일기가 되는 한국어 AI 친구ChatGPT는 매번 리셋되지만, 플랜티는 당신의 하루를 기억해요. 채팅하듯 이야기하면 그날의 대화가 자동으로 일기가 되는 한국어 AI 친구를 만들고 있어요.2026년 6월 29일·5분 읽기
프론트엔드Next.js로 랜딩페이지 만들기, 배포까지 30분 실전 가이드Next.js로 랜딩페이지를 만들고 깃허브 연동으로 배포해 도메인까지 연결하는 흐름을 단계별로 정리했어요.2026년 6월 29일·5분 읽기
백엔드FastAPI와 Supabase로 만드는 로그인 예제FastAPI 백엔드에서 Supabase 인증으로 이메일 로그인을 붙이는 최소 예제를 따라 만들어봐요.2026년 6월 29일·4분 읽기
AI 정보n8n으로 블로그 글 자동 발행하기: Claude와 Next.js 연동 예시n8n 스케줄 트리거로 Claude를 호출해 글을 쓰고, MDX로 만들어 Next.js 블로그에 올리는 흐름을 단계별로 정리했어요.2026년 6월 29일·5분 읽기
개발일지트위터 API가 막혔을 때 Bluesky로 우회한 기록 — 1인 개발자의 n8n 마케팅 자동화트위터 syndication API가 429로 막혀서 Bluesky AT Protocol 공개 API로 우회해, 인디 빌더 5명 158개 글의 engagement를 실측 수집한 기록이에요. n8n 마케팅 자동화와 Claude·Codex 분담 워크플로우도 함께 정리했어요.2026년 6월 27일·9분 읽기
브랜딩·마케팅인디 빌더 158개 글을 분석해보니 — 열린 질문형이 댓글을 만든다 (벤치마크 기록)인디 빌더 5명의 Bluesky 글 158개에 좋아요·댓글 수를 붙여 분석해보니, 가장 많은 대화를 만든 건 화려한 글이 아니라 답하기 쉬운 질문 한 줄이었어요.2026년 6월 27일·9분 읽기
제품소개plan-b: 농구 동호회 운영, 코트 밖 반복을 줄이는 도구농구 동호회 운영에서 시간이 드는 건 경기보다 멤버·회비·기록 같은 코트 밖 반복이에요. plan-b가 그중 무엇을 줄이려는지, 무엇은 아직 아닌지 솔직하게 적었어요.2026년 6월 27일·5분 읽기
프론트엔드Next.js 정적 export에서 동적 기능 쓰기 — 클라이언트 컴포넌트로 조회수·좋아요·댓글 붙이기서버 없이 정적 export로 배포한 블로그에 조회수·좋아요·댓글을 붙인 방법이에요. 클라이언트 컴포넌트가 런타임에 직접 fetch하고, 실패하면 조용히 기본값으로 떨어져 본문을 먼저 지키게 했어요.2026년 6월 27일·6분 읽기
백엔드정적 블로그에 백엔드 붙이기 — Cloudflare Pages Functions + D1로 조회수·댓글·좋아요 만들기서버 없는 정적 블로그(Next.js export → Cloudflare Pages)에 조회수·좋아요·익명 댓글·방문자 통계를 붙인 방법이에요. 같은 배포에 Pages Functions와 D1만 얹어서, 따로 서버를 띄우지 않고 만들었어요.2026년 6월 27일·7분 읽기
AI 정보AI를 한 명처럼 쓰지 마세요 — Claude(손)·Codex(눈)로 역할을 나눈 1인 개발 워크플로우AI를 한 명의 만능 비서로 쓰면 빠르지만 위태로워요. Claude는 손(빠른 구현), Codex는 눈(보안·검증 리뷰)으로 역할을 나누고, 무엇을 만들지는 사람이 먼저 정하는 1인 개발 워크플로우를 실제 사례로 정리했어요.2026년 6월 27일·7분 읽기
개발일지Next.js 15 static export + Cloudflare Pages 배포 설정기Next.js 15 App Router에서 output:'export'로 정적 빌드를 만들고 Cloudflare Pages에 배포하는 과정을 정리했어요. 함정이 몇 가지 있었어요.2026년 6월 25일·3분 읽기
브랜딩·마케팅AI 슬롭 블로그의 정반대를 만들기로 했어요검색 결과를 가득 채운 AI 자동 생성 블로그들의 패턴을 분석하고, 라이프케어로그 블로그가 어떻게 차별화할 것인지 전략을 정리했어요.2026년 6월 25일·3분 읽기
프론트엔드TailwindCSS v3 → v4 마이그레이션 실전 메모tailwind.config.js가 사라지고 CSS-first 방식으로 바뀐 TailwindCSS v4 마이그레이션 과정에서 실제로 마주친 변화들을 정리했어요.2026년 6월 25일·2분 읽기
백엔드Supabase RLS 설계 시 실제로 실수한 패턴 3가지Supabase Row Level Security를 처음 설정할 때 빠지기 쉬운 함정들이에요. CREATE TABLE이 anon 권한을 자동 부여한다는 게 가장 위험했어요.2026년 6월 25일·3분 읽기
AI 정보Claude API를 앱에 붙이면서 배운 실용 팁들plan-c 앱 개발 중 Claude API를 FastAPI 백엔드에 연동하면서 실제로 경험한 팁과 주의사항을 정리했어요. 토큰 관리와 스트리밍이 핵심이었어요.2026년 6월 25일·3분 읽기
개발일지블로그 자동 발행을 launchd로 무인화한 기록 — 게이트·빌드·푸시를 하나로자체 블로그는 git push만으로 Cloudflare Pages에 배포돼요. 그 점을 이용해 거짓정보 게이트 → 빌드 → 커밋 → 푸시를 매일 자동으로 돌리는 발행 파이프라인을 launchd로 묶은 과정을 정리했어요.2026년 6월 24일·4분 읽기
브랜딩·마케팅티스토리 대신 자체 도메인 블로그를 고른 이유 — 자산이 내 쪽에 쌓이도록블로그를 플랫폼이 아니라 자체 도메인에 두기로 한 이유예요. 티스토리 Open API 종료로 자동 발행이 막힌 점, 그리고 검색·콘텐츠 자산을 내 도메인에 쌓고 싶었던 이유를 정리했어요.2026년 6월 24일·3분 읽기
제품소개plan-l: 법률 정보를 덜 막막하게 찾도록 — 만들고 있는 검색 도구법률 정보는 어디서부터 봐야 할지 막막할 때가 많아요. plan-l은 그 출발점을 조금 쉽게 만들어보려고 만들고 있는 작은 검색 도구예요. 무엇을 지향하는지, 왜 작게 시작하는지 적었어요.2026년 6월 24일·3분 읽기
프론트엔드MDX 블로그 코드블록에 라이트·다크 두 테마를 한 번에 — rehype-pretty-code정적 블로그의 코드블록을 빌드 타임에 하이라이팅하면서 라이트·다크 두 테마를 동시에 넣는 방법이에요. rehype-pretty-code와 CSS 변수를 써서 런타임 JavaScript 없이 테마를 바꾸는 구성을 정리했어요.2026년 6월 24일·3분 읽기
백엔드유료 크레딧 차감을 안전하게 — SELECT FOR UPDATE와 단일 트랜잭션동시에 들어온 요청이 같은 잔액을 읽으면 크레딧이 이중으로 차감되거나 잔액이 음수가 될 수 있어요. 행 잠금과 단일 트랜잭션으로 막는 패턴, 그리고 결제 웹훅의 멱등 처리까지 정리했어요.2026년 6월 24일·4분 읽기
AI 정보LLM을 판정자로 쓸 때 프롬프트 인젝션을 막는 법 — 신뢰 경계 긋기LLM에게 콘텐츠를 평가시킬 때, 평가 대상 안에 숨은 지시를 따라가 버리는 프롬프트 인젝션이 생길 수 있어요. 신뢰 경계를 긋고, 출력을 엄격히 강제하고, 애매하면 멈추는 fail-closed 방어를 정리했어요.2026년 6월 24일·4분 읽기
개발일지라이프케어로그 기술 블로그를 시작하며 — Next.js 16 정적 블로그 빌드 기록1인 개발 회사의 기술 블로그를 Next.js 16 + MDX 정적 사이트로 만들고 Cloudflare Pages에 올린 과정을 정리했어요. 무인 자동발행을 염두에 두고 fail-closed 발행 게이트를 넣은 이야기예요.2026년 6월 21일·3분 읽기
브랜딩·마케팅AI가 쓰는 글에 콘텐츠 헌장을 두는 이유글을 자동으로 만들수록 브랜드 신뢰는 더 쉽게 흔들려요. 날조 수치와 과장을 막는 콘텐츠 헌장을 먼저 정하고 그걸 발행 게이트로 강제한 이유를 적었어요.2026년 6월 21일·4분 읽기
제품소개라이프케어로그가 만드는 것 — 작은 도구 여러 개큰 제품 하나가 아니라, 각자 한 가지 일을 잘하는 작은 도구를 여러 개 만들고 있어요. 1인이 운영하면서 이 방식을 택한 이유를 정리했어요.2026년 6월 21일·3분 읽기
프론트엔드Next.js 16 + Tailwind v4로 정적 블로그 만들기서버 없이 돌아가는 블로그를 Next.js 16 App Router와 Tailwind v4, MDX로 만든 설정을 정리했어요. 정적 export에서 걸리기 쉬운 지점도 함께 적었어요.2026년 6월 21일·3분 읽기
백엔드추상 아키텍처를 매니지드 서비스로 — 1인 개발자의 백엔드 빌딩블록교과서의 백엔드 아키텍처 개념을, 1인 개발자가 실제로 쓰는 매니지드 서비스에 1:1로 매핑해 정리했어요. 추상 개념을 매번 다시 고민하지 않으려고요.2026년 6월 21일·4분 읽기
AI 정보AI 무인 발행에 fail-closed 게이트 달기 — 독립 평가자 3표 다수결블로그 글을 사람 없이 자동 발행하려면, 거짓정보가 그대로 나가는 걸 막는 장치가 먼저 필요해요. 독립 평가자 여러 명에게 판정을 맡기고 합의로만 통과시키는 게이트를 만든 기록이에요.2026년 6월 21일·4분 읽기