Neon Modem Overdrive (https://tty.fail/mrus/neonmodem)
701
stars
289
commits
Go
primary language
Jul 21, 2026
updated

Neon Modem Overdrive is a BBS-style command line client that supports Hyperuplink, Discourse, Lemmy, Lobsters and Hacker News as backends, and seamlessly integrates all of them into a streamlined TUI. And yes, you heard that right, I really did call it Neon Modem Overdrive.
Neon Modem is built in Go, using Charm's Bubble Tea TUI framework, but implements an own window manager (or compositor if you want) that allows it to use a third dimension, on top of the two dimensional rendering that Bubble Tea offers today. With that it is possible to display dialogs on top of one another, in order to offer a smoother UI experience.
| System | Available | List Forums | List Posts | List Replies | Create Post | Create Reply |
|---|---|---|---|---|---|---|
| Hyperuplink | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Discourse | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Lemmy | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Lobsters | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | ||
| Hacker News | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
Download the latest release and unpack it:
$ tar -xzf ./neonmodem_*.tar.gz
The binary is called neonmodem. Feel free to move it to e.g. /usr/local/bin.
Clone this repository
$ git clone git@github.com:mrusme/neonmodem.git
$ rad clone rad:z4GExf1wpsyn6WDc2dNAxVc6LPS9G
Then cd into the cloned directory and run:
make
The binary is called neonmodem. Feel free to move it to e.g. /usr/local/bin.
For Arch Linux an AUR package is available here: https://aur.archlinux.org/packages/neonmodem
Install with your favorite AUR helper.
On NetBSD, a package is available from the official repositories. To install it,
simply run pkgin install neonmodem.
Before launching Neon Modem Overdrive it requires initial setup of the
services (a.k.a. systems). Run neonmodem connect --help to find out more.
Connecting a service will add it to the configuration TOML. The configuration
file location depends on the operating system. On Unix systems, it is in
$XDG_CONFIG_HOME/neonmodem.toml if $XDG_CONFIG_HOME is non-empty, otherwise
$HOME/.config/neonmodem.toml is used. On Darwin, the configuration is in
$HOME/Library/Application Support/neonmodem.toml. On Windows, it is in
%AppData%\neonmodem.toml.
For connecting to a Hyperuplink instance you'll need to have an active account on that instance. Neon Modem will store the instance URL, username and API key.
neonmodem connect --type hyperuplink --url https://api.hyperup.link
For connecting to a Discourse instance you'll need to have an active account on that instance. Neon Modem will store the instance URL, username and a user key, but no password.
neonmodem connect --type discourse --url https://www.keebtalk.com
For connecting to a Lemmy instance you'll need to have an active account on that instance. Neon Modem will store the instance URL, username and password.
neonmodem connect --type lemmy --url https://lemmy.ml
For connecting to a Lobsters instance you won't need an account, as the integration is read-only. Neon Modem will store the instance URL.
neonmodem connect --type lobsters --url https://lobste.rs
For connecting to Hacker News you won't need an account, as the integration is read-only.
neonmodem connect --type hackernews
The UI can be fully customized via the Theme section in the configuration
file. To reset settings, all theme related configurations can simply be deleted
from the configuration.
After setup Neon Modem can be launched by calling neonmodem without any
arguments. It will briefly display a splash screen, then switch to the posts
list, which will aggregate the latest posts from all connected systems. A
progress icon will be visible in the header while network requests are loading.

In the posts list:
j: Scroll downk: Scroll upr/enter: Open selected postn: Write new post in on the system/forum of the current selected postC-e: Open system selectorC-t: Open forum selectoresc: QuitIn the post view dialog:
r: Reply to post#r: Reply to specific comment # in post, e.g. 3r to reply to the reply #3z: Load older replies (if available)esc: Close dialogIn the new post / new reply dialog:
tab: Switch between elements (only in new post dialog)C-s: Submit post/replyesc: Close dialogRenderImages = false
in the configuration.Go
99.8%
Neon Modem Overdrive (https://tty.fail/mrus/neonmodem)
701
stars
289
commits
Go
primary language
Jul 21, 2026
updated

Neon Modem Overdrive is a BBS-style command line client that supports Hyperuplink, Discourse, Lemmy, Lobsters and Hacker News as backends, and seamlessly integrates all of them into a streamlined TUI. And yes, you heard that right, I really did call it Neon Modem Overdrive.
Neon Modem is built in Go, using Charm's Bubble Tea TUI framework, but implements an own window manager (or compositor if you want) that allows it to use a third dimension, on top of the two dimensional rendering that Bubble Tea offers today. With that it is possible to display dialogs on top of one another, in order to offer a smoother UI experience.
| System | Available | List Forums | List Posts | List Replies | Create Post | Create Reply |
|---|---|---|---|---|---|---|
| Hyperuplink | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Discourse | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Lemmy | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Lobsters | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | ||
| Hacker News | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
Download the latest release and unpack it:
$ tar -xzf ./neonmodem_*.tar.gz
The binary is called neonmodem. Feel free to move it to e.g. /usr/local/bin.
Clone this repository
$ git clone git@github.com:mrusme/neonmodem.git
$ rad clone rad:z4GExf1wpsyn6WDc2dNAxVc6LPS9G
Then cd into the cloned directory and run:
make
The binary is called neonmodem. Feel free to move it to e.g. /usr/local/bin.
For Arch Linux an AUR package is available here: https://aur.archlinux.org/packages/neonmodem
Install with your favorite AUR helper.
On NetBSD, a package is available from the official repositories. To install it,
simply run pkgin install neonmodem.
Before launching Neon Modem Overdrive it requires initial setup of the
services (a.k.a. systems). Run neonmodem connect --help to find out more.
Connecting a service will add it to the configuration TOML. The configuration
file location depends on the operating system. On Unix systems, it is in
$XDG_CONFIG_HOME/neonmodem.toml if $XDG_CONFIG_HOME is non-empty, otherwise
$HOME/.config/neonmodem.toml is used. On Darwin, the configuration is in
$HOME/Library/Application Support/neonmodem.toml. On Windows, it is in
%AppData%\neonmodem.toml.
For connecting to a Hyperuplink instance you'll need to have an active account on that instance. Neon Modem will store the instance URL, username and API key.
neonmodem connect --type hyperuplink --url https://api.hyperup.link
For connecting to a Discourse instance you'll need to have an active account on that instance. Neon Modem will store the instance URL, username and a user key, but no password.
neonmodem connect --type discourse --url https://www.keebtalk.com
For connecting to a Lemmy instance you'll need to have an active account on that instance. Neon Modem will store the instance URL, username and password.
neonmodem connect --type lemmy --url https://lemmy.ml
For connecting to a Lobsters instance you won't need an account, as the integration is read-only. Neon Modem will store the instance URL.
neonmodem connect --type lobsters --url https://lobste.rs
For connecting to Hacker News you won't need an account, as the integration is read-only.
neonmodem connect --type hackernews
The UI can be fully customized via the Theme section in the configuration
file. To reset settings, all theme related configurations can simply be deleted
from the configuration.
After setup Neon Modem can be launched by calling neonmodem without any
arguments. It will briefly display a splash screen, then switch to the posts
list, which will aggregate the latest posts from all connected systems. A
progress icon will be visible in the header while network requests are loading.

In the posts list:
j: Scroll downk: Scroll upr/enter: Open selected postn: Write new post in on the system/forum of the current selected postC-e: Open system selectorC-t: Open forum selectoresc: QuitIn the post view dialog:
r: Reply to post#r: Reply to specific comment # in post, e.g. 3r to reply to the reply #3z: Load older replies (if available)esc: Close dialogIn the new post / new reply dialog:
tab: Switch between elements (only in new post dialog)C-s: Submit post/replyesc: Close dialogRenderImages = false
in the configuration.Go
99.8%