Skip to content
nderoPublic

About

Algoflex - The terminal code practice app

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Algoflex

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 Home Screen

Why Algoflex?

Algoflex is designed around a simple idea: algorithm practice should be fast, focused, and available anywhere a terminal is available.

Features

  • 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.

Problem set

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.

Installation

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.

Using uv

Install Algoflex as a standalone tool with uv:

uv tool install algoflex

Using pip

Alternatively:

pip install algoflex

Getting Started

Launch Algoflex from your terminal:

algoflex

Choose a problem, write your solution, run the tests, and review your results.

Supported Languages

  • Python 3.12+
  • Rust 1.97+
  • SQL using Python's SQlite3

Screenshots

Attempt

Algoflex Attempt Screen

Search

Algoflex Search Screen

Dashboard

Algoflex Dashboard

Development

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 algoflex

Set up the development environment and install Git hooks:

make setup

Run the test suite:

make test

Run linting:

make lint

Check formatting:

make format-check

Build the package:

make build

Build and run the local application:

make run

Run the full project checks:

make check

License

Algoflex is licensed under the MIT License.

See the LICENSE file for the full license text.

About

Algoflex - The terminal code practice app

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages