2026

워크스페이스 격리를 한 메서드로 — WorkspaceResolver 패턴

협업 SaaS에서 데이터 격리를 강제하는 방법과 트레이드오프.

learning

Plan Do! 자연어 라우팅 — 로컬 LLM과 GPT를 100회 붙여보고

qwen2.5-coder:7b vs gpt-4o-mini, 같은 프롬프트 100개 케이스로 비교한 결과와 안 옮긴 이유.

learning

블로그에 글 쓰는 마찰 줄이기 — Pages CMS 연동

글 한 편 올리는 마찰을 줄이기 위해 Pages CMS 연동

note

Plan Do! 출시 회고 — 혼자서 풀스택, 그리고 iOS까지

할 일·캘린더·AI를 통합한 생산성 앱을 1인 개발로 출시하며 부딪힌 결정들과 시행착오.

project

Plan Do! 데이터 모델 — Workspace 중심의 멀티테넌시

30여 개 엔티티를 Workspace 하나로 묶은 결정과, 그 과정에서 마주친 트레이드오프.

learning

Plan Do! 인프라 — Lightsail 한 인스턴스 위의 모든 것

AWS Lightsail 4GB 한 대에 웹·DB·파일까지 묶고, 단순함을 1순위로 둔 1인 운영 인프라 기록.

learning

WebSocket 두 개를 한 앱에 — presence와 DM을 분리한 이유

Plan Do!의 실시간 기능을 두 개의 STOMP 클라이언트로 나눈 결정과 트레이드오프.

learning

Capacitor로 PWA를 iOS 앱으로 출시하기

같은 웹 코드베이스로 iOS 앱까지 출시하면서 부딪힌 것들.

learning

사이트를 새로 단장했습니다

Astro로 옮기면서 글과 작업을 한 자리에 모았어요. Claude와 함께 작업한 기록도 함께.

note