Recurrify — Recurrence Relation Solver & Explainer
1/2
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
/Recurrify01.png)
/Recurrify02.png)