제일 먼저 정한 게 데이터 소유 단위였어요. 흔한 방식은 각자 계정에 데이터를 두고 상대에게
공유 권한을 주는 건데, 그러면 화면마다 "이건 누구 것인가"를 계속 따져야 하고 헤어질 때
누구 것을 지우냐는 문제가 남아요. 그래서 couples 를 최상위에 두고 모든 테이블이
couple_id 를 갖게 했습니다. 한 사람은 커플 하나에만 속하고(couple_members.user_id unique),
RLS 정책은 전부 public.my_couple_id() 라는 함수 하나를 술어로 씁니다. 정책을 42개 쓰면서도
규칙이 하나라 헷갈릴 게 없었어요.
로그인은 카카오만 뒀습니다. 커플앱은 상대를 끌어와야 시작되는데, 이메일 회원가입을 시키면
그 자리에서 절반이 떨어져요. 초대는 코드 열 자를 발급하고 서버 트랜잭션(claim-invite)이
수락·연결·기념일 생성을 한 번에 처리하게 했습니다.





