최근 글
Capacitor를 걷어내고 React Native로 — 모바일을 다시 짠 이유
한 코드베이스를 지키려고 골랐던 Capacitor를 몇 달 뒤에 버리고, 모바일만 React Native로 다시 짠 기록. 리라이트의 리스크를 줄인 세 가지와 카카오맵 삽질.
tmux 화면을 파싱해서 폰에서 프롬프트에 답하기
Claude Code가 터미널에 그리는 선택 UI를 tmux capture-pane으로 읽어 디스코드 버튼으로 바꾸는 과정. 단일/다중 선택의 정반대 키 의미, 놀고 있는 세션 오인, 렌더 레이스 같은 실측 함정들.
폰에서 Claude Code 세션들을 조종하기 — 디스코드를 붙였다
Mac mini에서 tmux로 돌리는 여러 Claude Code 세션을, 자리를 떠나서도 폰으로 보고 개입하려고 디스코드를 붙인 기록. 원격 조종의 편의보다 "무엇을 못 하게 할지"를 먼저 정한 이야기.
Plan Do! AI 어시스턴트 고도화 — 여러 개를 한 번에, 그리고 이름을 믿지 않기
다건 생성부터 워크스페이스 인식·프롬프트 인젝션 방어까지, 자연어 명령을 실무에 붙이며 겪은 것들.
쌓인 노트를 스스로 잇게 — 임베딩 유사도로 자동연결
노트를 저장할 때마다 임베딩으로 의미가 가까운 노트를 찾아 잇고, 그걸 그래프로 그리고 군집으로 묶은 기록. pgvector kNN·Louvain·Canvas 렌더까지.
최근 작업
Plan Do! ↗
할 일·캘린더·팀 협업·메시지·AI·위치 알림을 통합한 모바일 생산성 앱.
React NativeExpoReact 19Spring Boot +2
iOS · Web
Someday ↗
사진 한 장으로 만드는 여행 코스. EXIF와 Claude Vision으로 장소를 인식하고 AI가 동선을 짜줍니다.
Next.js 16TypeScriptTailwindClaude API +1
Web
Synap ↗
메모가 의미로 연결되는 노트앱. 노트를 적으면 임베딩으로 가까운 노트끼리 자동으로 잇고, 그래프로 탐색해요.
ReactTypeScriptSpring BootPostgreSQL +2
Web
PiPAny ↗
아이폰에서 맥미니를 편하게 쓰려고 만든 개인용 앱. tmux·Claude Code 세션을 PiP 창과 다이나믹 아일랜드로 계속 지켜봅니다.
SwiftWKWebViewAVKit (PiP)ActivityKit +4
iOS