Ask HN: Do you still build terminal tools for fun?

7 FerkiHN 9 7/15/2025, 1:24:16 PM
Lately I’ve been exploring how far we can still push the terminal — both for fun and for practical tools.

I recently ended up writing a small utility that displays images inside the terminal using only ANSI color blocks. It’s not fancy, but it made me realize how flexible the terminal still is — even without GUI libraries or modern frameworks.

Just wondering: do others here still build CLI or terminal-based tools for side projects, retro use cases, or just for fun?

Would love to hear your favorite hacks or experiments.

Comments (9)

FerkiHN · 6h ago
Here's the image viewer I mentioned — it’s a single binary, written in raw C with no dependencies other than SDL2.

Works on Linux, Windows, Termux etc. Demo folder shows some real renders.

GitHub: https://github.com/Ferki-git-creator/phono-in-terminal-image...

jlundberg · 6h ago
Yes, our whole customer support is CLI based. We probably have more than 200+ custom internal tools now.

Many tools use simple coloring, like this (in Python):

print( red( ”Warning: xyz” ) )

FerkiHN · 5h ago
That's awesome — love seeing serious CLI-based workflows like that. Feels efficient and hacker-core I'm also a big fan of minimal terminal tools. It's cool how even simple color highlights like red("Warning: xyz") can boost usability a lot. Totally agree — sometimes all you need is clean output and fast feedback.
asddfgg55 · 6h ago
Cool, this is the first time I've seen such a rendering program, I didn't even know that such a high-quality image could be in the terminal.
FerkiHN · 6h ago
Thank you for the feedback, I am very pleased.
gregjor · 4h ago
Not for fun, but I do build CLI tools for development and production use.
jjgreen · 6h ago
That's about the 10th time you've posted this, please give it a rest.

No comments yet

msgodel · 6h ago
Unless you need actual bitmapped graphics the VTE is probably the best and most portable graphics API available currently.
FerkiHN · 5h ago
Yeah, VTE is a powerful tool — I agree. In my case, I wanted to stick as close to raw ANSI as possible to maintain compatibility even with very old terminals (even Termux!). But it would definitely be interesting to try something with VTE in the future.