A modern Android toolkit for mastering calculus — built with Kotlin, Jetpack Compose, and a custom symbolic math engine.
This project began as a final assignment for my second-semester Multi-Variable Calculus course. The requirement was to build something related to our curriculum, but I saw it as an opportunity to build a truly useful, high-quality tool for other students.
Derivify is the result: a native Android application designed to be an all-in-one toolkit for university-level calculus. It's not just a calculator; it's a learning companion built with a modern tech stack—100% Kotlin and Jetpack Compose.
| Calculator | Navigation Menu | Quiz Selection | Quiz in Progress |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
The app is built around two core ideas: providing powerful tools for solving problems and offering an interactive way to practice and test your knowledge.
Derivify can handle a range of complex multi-variable calculus operations:
- Partial Derivatives: Solves partial derivatives for functions with multiple variables.
- Gradients: Instantly finds the gradient vector
∇fof a function. - Directional Derivatives: Calculates the rate of change in the direction of a given vector.
To move beyond simple calculation, I built an interactive quiz feature with a large, university-level question bank. It’s designed to genuinely test your understanding, not just your memorization.
It features four difficulty levels:
- Easy: A review of foundational rules (Power Rule, Product Rule, etc.).
- Medium: A mix of chain rules, implicit differentiation, and inverse trig.
- Hard: Multi-variable topics like partial derivatives and gradients.
- Nightmare: A true challenge — mixed partials, directional derivatives, and more.
This project was an exercise in building a modern, robust Android application from the ground up.
- Language: 100% Kotlin
- User Interface: Jetpack Compose with Material 3 for a fully declarative, modern UI
- Architecture: MVVM (Model-View-ViewModel) for a clean separation between UI and logic
- State Management: Using
ViewModelsandMutableStatefor efficient UI reactivity
The core of this application is a custom-built symbolic differentiation engine. Instead of relying on external libraries, this engine:
- Parses user-input functions into an Abstract Syntax Tree (AST).
- Recursively applies calculus rules (Power, Product, Chain Rule, etc.) to the tree.
- Generates an exact, analytical derivative, not a numerical approximation.
The latest installable .apk file is available on the Releases page.
- Navigate to the Latest Release
- Under Assets, download the
app-release.apkfile - Open it on your Android device (enable Install from Unknown Sources if prompted)
Interested in building the app yourself or contributing?
- Clone the repository:
git clone [https://github.com/mahad2006/Derivify-Calculus-Toolkit.git](https://github.com/mahad2006/Derivify-Calculus-Toolkit.git)
- Open the project in Android Studio (Hedgehog or newer).
- Let Gradle sync and build the project.
- Run on an emulator or a physical device.
Contributions are welcome! If you have a feature request, bug report, or want to contribute code, please feel free to:
- Open an issue to discuss the change.
- Fork the repository and create a new branch.
- Submit a pull request with your changes.
My name is Mahad (codewithmahad), and I’m a software developer and student passionate about building practical, well-designed applications.
This project was a joy to build — combining my academic studies with my passion for mobile development.
This project is licensed under the MIT License.
Developed with ❤️ by Shaikh Mahad
© 2025 Derivify — All rights reserved.



