버디는 볼 때 계산한다
배고픔과 똥은 저장하지도, 스케줄러로 갱신하지도 않습니다. 누군가 방을 열 때 마지막으로 밥을 주고 치운 시각에서 계산합니다.
1:1 메신저에 두 사람 사이에서 사는 작은 도트 생명체가 있습니다. 대화하고, 밥을 주고, 치워 주면서 자라는 걸 지켜봅니다.

puny-chat은 딱 두 사람을 위한 메신저이자, 그 사이에서 사는 작은 생명체입니다. 배가 고파지고, 어지르고, 대화할수록 자랍니다. AI 프롬프트도 매일 해야 하는 미션도 없습니다. 둘이 함께 작은 무언가를 돌볼 뿐입니다.
이름만 정하고 게스트로 시작한 뒤, 8자리 초대 코드로 친구 한 명을 초대합니다. 같은 Expo 앱이 iPhone과 웹에서 돌아가고, 웹 앱은 홈 화면에 추가해 알림도 받을 수 있습니다. 50초짜리 데모에서는 로그인 없이 알이 자라는 모습을 볼 수 있습니다.




배고픔과 똥은 저장하지도, 스케줄러로 갱신하지도 않습니다. 누군가 방을 열 때 마지막으로 밥을 주고 치운 시각에서 계산합니다.
클라이언트 메시지 ID에 유니크 인덱스를 걸어 다시 보내도 같은 메시지가 돌아옵니다. 조건부 업데이트라 둘이 동시에 밥주기를 눌러도 한 번만 반영됩니다.
3초가 지나도 아직 안 읽었을 때만 iPhone과 웹에 푸시를 보냅니다. Web Push 암호화와 서명은 추가 라이브러리 없이 JDK만으로 합니다.
처음에는 UR check와 설정을 공유해 Azure에서 월 2,000엔 정도로 돌렸습니다. 지금은 Railway, Atlas 무료 플랜, Cloudflare를 Terraform 설정 하나로 운영합니다.