1. 6

Hi everyone,

I’m working on an Erlang inspired WebAssembly runtime for the backend. Recently I added TCP support and was looking for apps I could build with it. I ended up building a telnet chat app. It was a great dogfooding experience and has a nice retro feel to it.

You can access the US server with

telnet lunatic.chat

or the EU one with:

telnet eu.lunatic.chat

You should pick the one closer to you as all the rendering is done on the backend and lower latency will mean better UX.

The server is open source and written in Rust. The Rust code is then compiled to WebAssembly and runs on top of Lunatic. Each connection runs in a separate (lightweight) process, has it’s own state and sends just a diff of esc-sequences back to the terminal to bring it up to date with the current render buffer (React style). Everything is deployed to an ARM Linux box.