Design the client-side architecture for a real-time student-to-recruiter chat system. How do you handle message delivery receipts and offline state?