Work

Recurrify — Recurrence Relation Solver & Explainer

A full-stack recurrence relation solver that provides step-by-step solutions using Master Theorem, Recursion Tree, Iteration, and Characteristic Equation methods — with LaTeX-rendered derivations and symbolic verification.

Role

Solo Developer

Year

2026

Source

GitHub
4 Solving Methods
8 Built-in Examples
37 Test Cases
Python66.8%
TypeScript19.3%
CSS13.1%
HTML0.4%
JavaScript0.4%
PythonFastAPIReactTypeScriptSymPyKaTeX

Overview

Recurrify is a full-stack educational tool for algorithm students. Enter any recurrence relation and get step-by-step solutions rendered in beautiful LaTeX math. The backend uses a hand-written recursive descent parser (tokenizer → parser → AST → SymPy bridge) to parse arbitrary recurrence relations and classify them for the appropriate solving method.

Key Features

  • Multi-Method Solving — Master Theorem (3 cases), Recursion Tree with level-cost tables, Iteration/Telescoping with pattern display, and Characteristic Equation for linear recurrences
  • Step-by-Step Derivations — Every solution shows the full reasoning chain from initial recurrence to closed-form, all rendered in LaTeX via KaTeX
  • Symbolic & Numeric Verification — Substitutes closed forms back into the original recurrence to prove correctness, and computes actual values for comparison
  • Guided Reasoning Mode — Interactive Q&A that walks students through the solving process with a state-machine-driven question bank
  • 8 Built-in Examples — Merge Sort, Binary Search, Karatsuba, Strassen, Fibonacci, and more

Technical Highlights

  • Backend: Python 3.11 + FastAPI with SymPy for symbolic math — simplification, limits, and LaTeX generation
  • Parser: Custom recursive descent parser with regex-based lexer, frozen dataclass AST nodes, and Pydantic validation
  • Frontend: React 18 + TypeScript + Vite with KaTeX rendering and a dark glassmorphism-inspired UI
  • Testing: 37 tests across tokenizer, parser, solvers, and async API integration