Skip to main content

TNT

A terminal chat service over SSH. Pure C11 implementation reusing SSH for transport encryption, with a custom Vim-style modal TUI. ~2MB idle memory, 100+ concurrent connections.

View source
  • Systems programming
  • Network
  • TUI
TNT terminal chat interface running in a terminal emulator

The problem

Most chat tools require a web browser, an Electron app, or a dedicated client. For people who live in the terminal, there should be a chat that works where they already are — over SSH, with no extra software to install.

Technical approach

  • Written in pure C11 with no external dependencies beyond libssh. Reuses SSH for transport encryption so there is no need to implement a separate TLS layer.
  • Custom Vim-style modal TUI with normal, insert, and command modes. Terminal rendering uses ANSI escape sequences directly — no ncurses.
  • Event-driven architecture with epoll for handling 100+ concurrent connections with ~2MB idle memory footprint.
  • Users connect via standard SSH clients. Authentication is handled by SSH key pairs, eliminating any password management.