This is the final post in a 6-part series on Anyhide, a Rust steganography tool. This post is about the part users actually see.

Cryptographic tools that don't feel good to use don't get used. You can ship the world's most elegant Double Ratchet — if the interface is hostile, nobody will touch it, and you've built a demo, not a tool.

When I got to the chat feature, I knew I wanted a TUI. Terminal UIs are faster to iterate on than web UIs, work over SSH, respect the aesthetic of the rest of the tool, and — honestly — just feel right for something that's about privacy and control. The library I used is ratatui, a mature fork of the older tui-rs crate.

This post is about what I built on top of ratatui, what went well, and what I'd do differently.

What it looks like