MELO

Melo is a private, two-person chat that translates every message before it is delivered. You write in your language, the person you're talking to reads in theirs — one room, two languages, no copy-pasting.

Year2026
MELO Hero

Talking to someone who reads in a different language meant the same dance for every message: type, copy, switch apps, paste, translate, switch back — and hope the tone survived. That tax on every single message is why I built Melo: a room for two where the translation happens before delivery, and each side just sees the conversation in their own language.

MELO screen 1
MELO screen 2
MELO screen 3
MELO screen 4
MELO screen 5
MELO screen 6
MELO screen 7
MELO screen 8
MELO screen 9
MELO screen 10
MELO screen 11
MELO screen 12
MELO screen 13
MELO screen 14

Challenge

Chat apps don't translate, and translators aren't conversations. Doing it manually meant leaving the chat, losing context, and guessing at tone — and both people paid that cost on every message.

Action

Building for myself

Melo exists for conversations I was actually having — the kind where the other person reads in a different language. The goal was a chat that feels as light as texting a close friend, where translation is invisible infrastructure instead of an extra step.

Technical foundations

Melo is built with React Native + Expo (Expo Router) and Supabase. Every send runs a translate-before-insert pipeline: the message is translated into the recipient's reading language, with per-message status tracking, a bounded cache, in-flight request coalescing, timeouts, and retries. Three realtime channels drive messages, typing, presence, and the chats list, and rooms are derived from the two Melo IDs so both people always land in the same room.

Problems while building

The translation endpoint lies: on failure it returns your input unchanged, so success and failure look identical — and it rate-limits with an instant 429. I built an echo detector so messages that needed no translation don't get reported as errors, plus a retry pause and request coalescing so a chatty app doesn't throttle itself. Identity was its own puzzle: there are no passwords, and the Melo ID is the only credential, so it had to be readable out loud, collision-safe, and recoverable on a new phone.

Result

Melo makes cross-language conversation feel like ordinary texting: you write in your language, they read in theirs, and the translation disappears into the delivery. It's realtime, lightweight, and built with scalability in mind for future features.