Vibeleaderboard
Index / tool
Visit hnterm.ggerganov.com
Category
Productivity
Rank
No. 1606Tools index

Previous survey · No. 1615 ·

Pricing
Open Source
Type
TOOL
Builder
ggerganov
GitHub
322 stars
Latest release
v0.4
Date

About

Browse Hacker News from your terminal with a fast C++ TUI.

What it does

HNTerm presents Hacker News story lists and comment threads in an interactive console interface. It reads the official API, requests only visible content, and can place multiple story or comment views side by side.

Why it's ranked here

Worth trying for terminal-centered readers because it combines selective fetching, split views, comment browsing, and external link opening in a small native application. The browser port adds an easy trial route, though mobile use is explicitly discouraged.

What's good

Selective fetching avoids requesting every item before showing useful content. Multiple panes support comparing story lists or following separate comment sections at once. Top, Show, Ask, and New feeds are represented, alongside stories, jobs, polls, and nested comments.

Tradeoffs

The browser build is not suitable for mobile devices. Native builds depend on ncurses, curl, and the ImTui rendering layer. JSON and HTML handling use small custom parsers, so their supported input behavior is narrower than full standards-oriented parsing libraries.

How to use it well

Pick it when Hacker News reading already fits beside shells, editors, and other terminal work. Use split panes to watch different feeds or comment threads. It is an executable reader, not an embeddable Hacker News client library.

Technical notes+

CMakeLists.txt requires C++17, adds third-party dependencies, finds CURL for native builds, and exposes optional sanitizers. src/CMakeLists.txt builds either an ncurses executable from src/main.cpp, src/hn-state.cpp, and src/impl-ncurses.cpp, or an Emscripten target using src/impl-emscripten.cpp. src/hn-state.cpp polls feed and update endpoints, requests visible item IDs, parses supported item variants, and refreshes changed cached items. src/impl-ncurses.cpp uses curl multi with MAX_PARALLEL set to 5, while src/impl-emscripten.cpp uses Emscripten Fetch. src/json.h contains bespoke array and object parsing.

Observed

License
MIT License
Primary language
C++17
Interface
Interactive terminal application, plus an Emscripten browser port
Install surface
Snap on Linux, Homebrew on macOS, or a CMake source build
Platform support
Linux, macOS, and web browsers through Emscripten
Data source
Official Hacker News API
Native dependencies
ImTui with ncurses rendering and libcurl networking

Read from README.md, src/main.cpp, src/json.h, src/hn-state.h, src/hn-state.cpp, src/impl-ncurses.cpp, src/impl-emscripten.cpp, LICENSE, CHANGELOG.md, CMakeLists.txt, src/style.css, src/CMakeLists.txt, cmake/GitVars.cmake, snap/snapcraft.yaml, src/index-tmpl.html.

What it can do

  • Browse Hacker News stories

    Terminal interface commandsDisplay of Hacker News stories and posts

  • Navigate through Hacker News content

    Keyboard navigation commandsMove between different stories and sections

  • View story details and comments

    Story selection commandFull story content and comment threads

  • Search Hacker News content

    Search terms and keywordsFiltered list of matching stories

  • Display real-time Hacker News feed

    Terminal sessionLive updated list of current stories

Tags

terminaltuihackernewscpp

Tech Stack

C++CMakeCSSHTML

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.