About the App
Dynamic Mathematics is a math diagnostic and practice app for self-directed learners.
It uses an adaptive algorithm built on a graph of math skills - arithmetic, fractions, exponents, algebra, and so on - to figure out where your knowledge level is, then guides you toward what to work on next.
Unlike typical math apps, it is not meant to be a teach/learn app. It is a compass that points out which skills need work. When you cannot solve a problem, you research it outside the app and return to prove you have learned it.
Features
- Adaptive problem selection based on a skill graph and per-skill mastery scoring
- Hand-curated problem templates
- Native math equation rendering via CoreText (SwiftMath)
- Built-in scratchpad for working out problems
- Algorithmic practice mode and custom practice mode (pick your own skills)
- Per-skill mastery, accuracy, streak, and problem history tracking
- Export and save your entire problem history for review
- Topic Map - a visual graph of how math skills connect
- No account, no ads, no personal data collected
System Requirements
- iPhone iOS 16.0 or later
- Offline-only: all data stays on your device
How to Use
Open the app and tap Start Practice to begin. Answer problems and the app will figure out where you are and what to work on. Use the other sections as needed:
- Skills - view your mastery level on each skill, grouped by category
- Stats - overall score, problems solved, accuracy, and streaks
- Topic Map - visual scaffold of how math skills are planned in-app
- Custom Practice - pick specific skills to practice (does not affect your stats)
- Settings - reset progress, how-it-works guide, feedback, problem history, etc
Frequently Asked Questions
- Does the app teach math?
- No. It diagnoses where you are and tells you what to work on. When your skill has improved, the app automatically starts to sprinkle in problems from further skills that build upon the skills you've raised.
- Are the problems AI generated?
- No. All problems come from hand-curated templates. No LLM or AI generated content is used.
- How does it decide what to give me next?
- Each skill has a score that updates as you answer. Later topics are built with "foundational skills" so once you have high score in a topic's foundation skills, you will start getting those type of problems.
- Can I pick what I want to practice?
- Yes - use Custom Practice to select specific skills. Problems answered in that mode do not affect your stats.
- I answered a problem correctly/incorrectly that the app said was wrong.
- Message me here or through the in-app feedback function and I will get on it immediately.
- Where is my data stored?
- All data is stored locally on your device. Nothing is sent off the device. If you delete the app, all data will be lost.
Privacy Policy
Effective date: June 15, 2026
Dynamic Mathematics is built by an individual developer and does not collect personally identifiable information. There are options to submit feedback through the in-app feedback form, and also a single URL "ping". Both are described in detail below.
Information We Do Not Collect
- No name, email, phone number, address, date of birth, or other identifying information
- No account - there is no sign-up, sign-in, user ID, or cloud profile
- No contacts, calendar, photos, location-services data, camera, microphone, or health data
- No advertising identifiers (IDFA), no ad networks, and no third-party advertising tracking
Information Stored on Your Device
The app saves the following locally, in a SQLite database on your device:
- The math problems served, your answers, and whether each was correct, wrong, or skipped (timestamped)
- Internal mastery estimates for each math skill
- Current and best correct-answer streaks
This data never leaves your device. The app does not sync your problem history, answers, or stats to the cloud, and does not connect to a server operated by the developer during practice sessions.
Data Storage
All information is saved in on-device storage on your iPhone. We do not synchronize or back up your data to any external servers.
Usage Ping
When the app launches, it sends a single anonymous "ping" to our feedback service so we can gauge how many
times the app is opened. This request contains only a fixed source label identifying the app
(example-app-ios); it includes no account, no personal information, and none of your task content. It
cannot be used to track or identify you across apps or over time. It is equivalent to trying to go to the url https://feedback.k1apps.dev/ping?source=example-app-ios.
Example of a ping:
useEffect(() => {
fetch("https://feedback.k1apps.dev/ping?source=example-app-ios", {
method: "GET",
}).catch(() => {});
}, []);
Feedback Submissions
The app includes an optional feedback form. Nothing is sent unless you fill it out and tap Send. When you do, your typed message is delivered to the developer along with a small amount of technical info to help diagnose issues:
- your message text
- your email address - only if you choose to enter one for a reply (otherwise none is sent)
- the app version and build number
- your device model and iOS version
Your tasks, generators, and other in-app data are never included. Feedback you submit is retained by the developer so we can read and respond to it.
Example of data:
App: example-app-ios
Submitted: 2026-05-30 04:17 UTC
Reply-To: not provided
Message:
I love the app, thanks.
Metadata:
version: 1.0.1
build: 3
commit: f197b74
platform: iOS 26.5
device: iPhone 16 Pro
Third-Party Services
No third-party services receive data from the app.
Permissions
No iOS permissions are requested.
Your Control Over Your Data
You can erase all data at any time from Settings > Reset Progress, or by deleting the app from your device.
Policy Updates
This policy may be updated to reflect changes in the app.
Contact Support
For help, bug reports, privacy questions, feature suggestions, or for any other purpose, email kevin@k1apps.dev.