Case study
Actually Learn
A local-first iPhone app that turns course material into guided, interactive practice.
Problem
Deciding what to study and how to practice it
A learner can have course material in front of them and still struggle to answer three questions: What should I work on next? How should I practice it? How will I know whether I understand it?
I wanted to help learners decide what to practice without asking them to organize an entire study plan first. But the app still needs to make them think. Reading an explanation or tapping through a lesson is not enough to demonstrate that they can apply a concept.
Design goal
Helping learners understand and apply what they study
Help learners spend their attention on understanding a concept, applying it, and recognizing where they need more practice. A completed screen should not stand in for understanding, and feeling confident should not be treated as evidence of a correct answer.
Solution
Guided practice with explanations when needed
Actually Learn turns structured course content into a sequence of lessons, interactive exercises, immediate feedback, and targeted review. One current lesson answers “What should I do next?” An optional Explore branch gives learners space to investigate “Why does this work?” before returning to the exercise they left.
The core loop is: attempt an exercise, inspect the feedback, explore if needed, and return for practice informed by earlier performance. Correctness and confidence remain separate. Reading an explanation does not award mastery. The local-first foundation preserves progress and keeps the core practice loop available offline, with AI assistance optional.
I want learners to know where to begin and still be able to investigate a concept before moving on. I have not yet tested whether this improves motivation or retention with real learners.
Who this is built for
Learners studying conceptual course material
The proposed starting audience is learners studying structured, conceptual course material, with the current finance lesson providing a bounded place to begin research.
- The learner unsure where to begin. They have material but need a concrete starting point. One current lesson should help them enter practice without first planning an entire study session.
- The learner who can recall a formula but struggles to apply it. They need exercises that expose gaps in reasoning and feedback that helps them understand the mistake. The WACC lesson provides an initial example for testing this need.
- The learner returning after a break. They need continuity: a preserved session, an understandable review recommendation, and a way to revisit weak areas without reconstructing their study history.
A learner may move between these situations during a course. I plan to investigate them in user research before defining personas or market segments.
The tradeoff
Deciding how much direction to give the learner
A linear path makes the next action clearer, but gives the learner less control over the order of study. An open skill graph offers more choice, but asks the learner to interpret that structure before beginning. The current design uses the path for progression and Explore for optional depth.
I want to find out whether learners can explain why a lesson or review item is useful to them. Later exercises will also help test whether they can apply the feedback to a new problem.
Product evolution
How the learning experience changed
Actually Learn began as a local-first retrieval and spaced-practice app. Testing exposed deeper problems: review history could survive while a skill still appeared unseen, a learning session could contain no prompts, and a supposedly different challenge could test the same kind of reasoning with different words.
I first added explicit prerequisites, multidimensional mastery, and dependency-aware review. The larger change came later, when I realized that a detailed skill graph still asked the learner to interpret the system before doing any work; the primary experience therefore shifted from a collection of cards to one guided path with a clear current lesson.
- Retrieval practiceImported notes, spaced review, and local evidence
- Prerequisite skill systemDependencies, weaknesses, and adaptive review
- Guided mastery pathOne clear lesson and immediate interactive practice
Product model
Keep progression linear and exploration optional
The path answers “What should I do next?” by opening directly into an exercise and feeding the result into later review. Explore answers a different question: “Why does this work?” It can branch from feedback, use local reference material or optional AI assistance, and then return the learner to the exact exercise state without awarding mastery for reading.
- Mastery pathOne current lesson
- Interactive exerciseActive reasoning
- Immediate feedbackAnswer and explanation
- EvidencePerformance and confidence stored separately
- Adaptive reviewExplainable next practice
Product walkthrough
Move from one clear lesson into targeted review
The path keeps the next lesson visible, while each response produces feedback the learner can explore without losing their place. Those results then become inputs to an adaptive review session that states why each exercise was selected.

01The path identifies one current lesson while preserving progress. 
02A lesson opens directly into a short active exercise. 
03Deterministic grading returns the result and reasoning immediately. 
04Explore adds context without changing the learner's score or place. 
05Review explains whether each prompt repairs or refreshes a skill. 
06Mixed practice asks the learner to select and apply the right model.
Interaction design
Make the learner assemble the relationship
A formula can be recognized without being understood. In construction exercises, the learner builds an expression from its parts before the app evaluates the order and explains the relationship. This provides stronger evidence than selecting a familiar-looking formula from a list while keeping the interaction short enough to use inside a lesson. The illustrated states below show how the interaction progresses.
Present value · Build it
Build the present value expression for $121 received in two years at 10%.
Placed tokens
121Available tokens
÷1.10201Build the expression one component at a time. Present value · Build it
Build the present value expression for $121 received in two years at 10%.
Placed tokens
121÷1.10202Review the complete relationship before submitting it. Present value · Build it
Build the present value expression for $121 received in two years at 10%.
Placed tokens
121÷1.102✓ That’s rightPresent value divides the future cash flow by its compounded required return factor.
03Confirm the answer and connect it back to the underlying idea.
Key decisions
Product choices and their costs
Guided path by default
The learner always has a clear next action, although the primary flow offers less freedom than a dashboard of study options.
Ten reusable exercise types
Different concepts can require matching, construction, calculation, prediction, diagnosis, or explanation, but the content model has to support all of those interactions consistently.
Deterministic grading first
Objective exercises work offline and produce explainable results; free-response feedback remains advisory rather than silently changing mastery.
Performance and confidence stay separate
“Was the answer correct?” and “How did this feel?” are both useful, but confidence never overwrites demonstrated performance.
Local persistence as the baseline
Lessons, attempts, and review history remain available without an account, network connection, cloud entitlement, or paid AI service.
AI stays behind a capability boundary
Apple Intelligence can vary a challenge or respond to reasoning, but it cannot determine objective mastery or interrupt a study session when unavailable.
Vertical slice
Using WACC to test the full learning loop
I chose weighted average cost of capital as the first high-fidelity lesson because it could test more than formula recall. A learner might know how to calculate WACC without understanding its inputs, predicting how it changes, or recognizing when another discount rate is more appropriate.
- Match debt and equity investors with their required returns.
- Construct the WACC formula from tactile tokens.
- Calculate a simple WACC numerically.
- Predict the effect of a higher cost of equity.
- Diagnose the use of book-value weights.
- Choose the appropriate rate for equity-only cash flows.
- Report confidence without changing the objective score.
Building one lesson across all of those actions forced the content model, renderer, grading engine, persistence layer, and review logic to work together before I expanded the rest of the Finance path.
System design
Separate content, interaction, grading, and evidence
Content describes what the learner should reason about, while the renderer controls how the exercise behaves, the engine grades the response, SwiftData records the evidence, and the adaptive layer decides what should appear again. Keeping those responsibilities separate allows the same mechanics to support Finance now and other subjects later.
- Course contentLessons and exercise definitions
- Exercise rendererTen reusable interactions
- Grading engineDeterministic evaluation
- SwiftData storeAttempts, confidence, and progress
- Adaptive reviewNext practice from stored evidence
AI-assisted development
How I directed AI-assisted implementation
I used AI coding agents during implementation while retaining ownership of the product model, architecture boundaries, sequencing, acceptance criteria, and validation. That distinction mattered because a plausible implementation could still violate a core rule, such as allowing a confidence rating to change mastery or losing an unfinished session after relaunch.
I applied the same boundary inside the product. Apple Intelligence can generate a grounded variation, identify a missing idea, or offer a Socratic follow-up, but deterministic evidence continues to control correctness, mastery, and scheduling. If AI is unavailable, the core learning loop still works.
Validation
What the prototype establishes
- Course content
- 18 Finance lessons
- Interaction model
- 10 exercise types
- Validation
- 67 automated tests
Verified
- All ten exercise types have grading coverage.
- Incorrect answers reveal the answer and an explanation.
- Explore restores the exact lesson state when closed.
- Unfinished sessions survive relaunch.
- Confidence does not alter correctness.
- Existing imports and review history remain intact.
Not yet established
- Long-term learning or retention outcomes with real learners
- Production-scale content authoring across multiple subjects
- Physical-device haptic quality across supported iPhones
- TestFlight or App Store distribution
User research next
Testing the app with learners
This case study documents an implemented iOS learning loop and technical checks for progression, feedback, and saved state. Those checks cover how the software behaves. Learner research and longer-term follow-up are still needed to evaluate educational effectiveness, and TestFlight or App Store distribution remains future work.
A proposed first study would observe learners completing the same finance lesson: can they find the starting point, explain the feedback in their own words, explore without losing their place, and understand why a review item was selected? Starts, completions, retries, and Explore usage would help locate friction, paired with observation of what learners actually understand.
A later follow-up could use a new problem testing the same concept to investigate delayed understanding and transfer. Evaluating a learning gain would require comparing performance on those later problems against an appropriate baseline.
Working prototype
Try Actually Learn
The Appetize preview runs the iPhone build in a browser. Free sessions are limited to three minutes, so it is best used as a short walkthrough of the mastery path and one lesson.