Music Player

50 stars
  • Lock-free audio pipeline SPSC ring buffer feeds SDL's callback with zero mutex contention.
  • Multithreaded C++20 decode, UI, and auto-advance on independent jthreads.
  • Real-time FFT visualizer live spectrum, oscilloscope, and circular modes in the terminal.
Read more

A minimalist MP3 player for the terminal, designed around great performance and low memory/CPU usage.

It runs on Linux and macOS (SDL2), ships pre-built binaries, and is available on the AUR. The player is organised around a music root where each subdirectory is treated as an album or playlist, with a small command terminal for play, themes, visuals and volume.

View on GitHub

Caffeine Tracker

  • Clean layered architecture presentation, business, and persistence layers are fully decoupled, each isolated behind its own interfaces.
  • OOP design with dependency inversion services and repositories are programmed against interfaces, keeping the domain logic testable and independent of storage/UI details.
  • C++20 terminal UI built with FTXUI, including a live dashboard, charts, and a CLI-style command input.
Read more

A terminal app for tracking daily caffeine intake. The dashboard shows how much caffeine is still in your system hour by hour, recommends the next best time to have another cup, and suggests a healthy daily dosage. A small CLI built into the TUI handles logging intake, setting up recurring routines ("every Monday at 7am, one espresso"), and managing settings.

Under the hood it's split into clean layers, presentation, business, and JSON persistence, wired together through interfaces rather than concrete classes, so each layer can be swapped or tested on its own.

View on GitHub