Puny Chat
A one-on-one messenger with a small pixel creature living between the two of you. Chat, feed it, clean up after it, and watch it grow.

- Type
- iPhone + web app · KO / JA / EN
- Period
- Sep – Oct 2026
- Runs on
- AWS Lightsail + MongoDB Atlas, Sydney
About
When I was first learning to code, I wrote a simple socket messenger and used it to chat with my girlfriend. Puny Chat grew out of that memory. It's a messenger for exactly two people, with a tiny buddy between them that grows the more you talk. It eats, and it poops. Name it after the other person and it gets more fun. No AI prompts, no daily missions.
Start as a guest with just a name, then invite one friend with an eight-character code. The same Expo app runs on iPhone and on the web, and the web app can be added to your home screen with notifications. The 50-second demo shows an egg growing up without signing in.
What it does
- Real-time chat
- Reconnects and fills in missed messages; resends are delivered once. Typing, read and online indicators.
- A buddy to raise
- Egg to baby to kid to adult. At Lv.20 it takes a job that depends on how you raised it (cook, barista, gardener, writer, radio DJ) and works at its own spot on the stage. It never dies if you forget it for a few days.
- Easy to look after
- Tap the bowl or the poop, or just send “밥” (food) in the chat. Who took care of it shows up in the conversation.
- A buddy with moods
- Left alone, it dances and sings. Once it's a kid it starts talking: “Long time no see!”, “Did you eat?” Tap ♨ and it soaks in an open-air hot spring, with snow in winter. A new room opens on a short dream of what the egg might grow into.
- Just the two of you
- Start without signing up, link Google later. One invite code, two people per room.
- Anywhere
- iPhone first, the same app on the web — installable to the home screen with push. Korean, Japanese and English, light and dark.




How it's built
- App
- Expo (React Native) · TypeScript · Expo Router — iPhone and web from one codebase
- Server
- Java 25 · Spring Boot 4 · WebFlux · WebSocket
- Data
- MongoDB Atlas, free tier, Sydney
- Auth · Push
- Firebase Authentication · Expo push · Web Push (VAPID)
- Infra
- AWS Lightsail, Sydney (server) · Cloudflare Workers (web) · Terraform for Atlas and Cloudflare, state in R2 · GitHub Actions