POST로 SSE를 받고 Zustand를 둘로 나눈 실시간 채팅 구조
브라우저 EventSource는 GET밖에 못 보낸다. 이 제약을 fetch + ReadableStream으로 우회하고, Zustand 스토어를 비즈니스 로직과 UI 상태로 쪼갠 뒤 TanStack Query와 붙인 실시간 AI 채팅 프론트엔드 이야기다.
Next.js 태그가 붙은 글 2편
브라우저 EventSource는 GET밖에 못 보낸다. 이 제약을 fetch + ReadableStream으로 우회하고, Zustand 스토어를 비즈니스 로직과 UI 상태로 쪼갠 뒤 TanStack Query와 붙인 실시간 AI 채팅 프론트엔드 이야기다.
AI 채팅 플랫폼의 전체 아키텍처를 설계하며 내린 판단들을 정리했다. NestJS 11 + Next.js 16 모노레포 구조, Render + Vercel + Upstash + Clerk + R2 로 짠 관리형 인프라 조합, 17개 테이블 스키마, 그리고 운영 가능성을 기준으로 삼은 트레이드오프를 다룬다.