TUI, which stands for Terminal User Interface, allows users to interact with software features directly from the terminal using a keyboard-driven approach.
TUI tools are fast, scriptable, lightweight, and favored by developers, sysadmins, and minimalists for their efficiency and simplicity.
The author built a music streaming TUI named Sparklines-TUI on a custom backend built on JioSaavn, leveraging React and Ink for the interactive command-line app.
The tech stack included NodeJS, TypeScript, Ink, mpv for music playback, and custom backend on top of JioSaavn, making it suitable for Termux (Android), though unstable.
The UI development using React and Ink was streamlined, allowing the author to utilize previous web development knowledge with minimal learning curve.
Challenges in the project included implementing music playback with mpv, handling logs, managing custom commands with NodeJS, and working on UI perfection and modularization.
The TUI project features functionalities like controlling music, login/register, API key-based interaction, continuous playback, custom shortcuts, search, recommendations, and more.
A help menu offers useful commands like navigation shortcuts, play/pause, volume control, seeking, speed adjustment, and display options within the TUI.
The author views the project as a personal experiment to push the limits of terminal UI in JS and values the process of learning and experimentation more than external recognition.
The TUI project showcases the potential of leveraging terminal interfaces for personalized applications, emphasizing the importance of self-motivated projects in driving innovation.
This informative article was originally published on https://blog.samay15jan.xyz, delving into the author's journey of building a music streaming TUI within the terminal environment.