최근 글
워크스페이스 격리를 한 메서드로 — WorkspaceResolver 패턴
협업 SaaS에서 데이터 격리를 강제하는 방법과 트레이드오프.
Plan Do! 자연어 라우팅 — 로컬 LLM과 GPT를 100회 붙여보고
qwen2.5-coder:7b vs gpt-4o-mini, 같은 프롬프트 100개 케이스로 비교한 결과와 안 옮긴 이유.
블로그에 글 쓰는 마찰 줄이기 — Pages CMS 연동
글 한 편 올리는 마찰을 줄이기 위해 Pages CMS 연동
Plan Do! 출시 회고 — 혼자서 풀스택, 그리고 iOS까지
할 일·캘린더·AI를 통합한 생산성 앱을 1인 개발로 출시하며 부딪힌 결정들과 시행착오.
WebSocket 두 개를 한 앱에 — presence와 DM을 분리한 이유
Plan Do!의 실시간 기능을 두 개의 STOMP 클라이언트로 나눈 결정과 트레이드오프.
최근 작업
Plan Do! ↗
할 일·캘린더·팀 협업·메시지·AI·위치 알림을 통합한 모바일 생산성 앱.
React 19Spring BootCapacitorPostgreSQL +2
iOS · Web
Someday ↗
사진 한 장으로 만드는 여행 코스. EXIF와 Claude Vision으로 장소를 인식하고 AI가 동선을 짜줍니다.
Next.js 16TypeScriptTailwindClaude API +1
Web
FitLog ↗
식단·운동·체중을 한 화면에서 기록하고, 커뮤니티에서 건강 정보를 공유할 수 있는 통합 건강 관리 앱.
React 18Spring BootJPAPostgreSQL +1
Web
Midpoint ↗
여러 명이 만날 때 모두에게 가장 가까운 지하철역을 자동으로 찾아주는 서비스.
PythonDjangoVanilla JSKakao Maps +2
Web