Sharpen your algorithm skills — right from the terminal.
Algoflex is a lightweight, offline-first terminal application for practicing algorithms and data structures. It provides a curated collection of coding problems, fast local feedback, and persistent progress tracking — without requiring an account, server, or browser.
Algoflex is designed around a simple idea: algorithm practice should be fast, focused, and available anywhere a terminal is available.
- Offline-first — Practice without relying on an internet connection or remote services.
- Cross-platform — Runs on Linux, macOS, and Windows.
- Keyboard-driven TUI — Navigate and solve problems efficiently from the terminal. Mouse input is also supported.
- Curated problem set — A focused collection of algorithm and data-structure problems designed to strengthen fundamental problem-solving skills.
- Multiple languages — Solve problems using Python, Rust or SQL.
- Automated testing — Run problem-specific tests against your solution and receive immediate feedback.
- Progress tracking — Track solve times, recent activity, historical attempts, and areas for improvement.
- Local persistence — Problem attempts, drafts and language preferences are stored locally.
The curated problem set covers fundamental algorithms and data structures, and SQL fundamentals. These include:
- Arrays & Strings
- Stacks & Queues
- Linked Lists
- Trees & Binary Search Trees
- Heaps & Priority Queues
- Graphs
- Hashing
- Greedy Algorithms
- Dynamic Programming
- Backtracking
- Recursion
- Bit Manipulation
- SQL Queries, CTEs, partition windows & window functions.
Problems are curated to reinforce core concepts and develop reusable problem-solving patterns across increasing levels of difficulty. Their order is randomized on each startup, encouraging independent problem-solving.
Algoflex requires Python 3.12 or later and runs on Linux, macOS, and Windows.
Rust solutions additionally require Rust 1.97 or later.
SQL solutions use Python's SQLite3.
Install Algoflex as a standalone tool with uv:
uv tool install algoflexAlternatively:
pip install algoflexLaunch Algoflex from your terminal:
algoflexChoose a problem, write your solution, run the tests, and review your results.
- Python 3.12+
- Rust 1.97+
- SQL using Python's SQlite3
Algoflex uses uv for project and dependency management, with pytest for testing, Ruff for linting and formatting, pre-commit hooks for local checks, and GitHub Actions for continuous integration, build validation, and tagged releases.
Clone the repository:
git clone https://github.com/ndero/algoflex.git
cd algoflexSet up the development environment and install Git hooks:
make setupRun the test suite:
make testRun linting:
make lintCheck formatting:
make format-checkBuild the package:
make buildBuild and run the local application:
make runRun the full project checks:
make checkAlgoflex is licensed under the MIT License.
See the LICENSE file for the full license text.



