Classify the feature
First complete the teaching lesson. Use the PocketCards codelab and this source revision for the practical work.
Your task
Run PocketCards without Firebase and classify generation, validation, saving, favorites and tomorrow scheduling as model or application responsibilities.
Evidence to produce
Write a two-column responsibility map and trace one manual card from creation to a saved deck. Keep a small learning log in your own branch. Include the command or action you used, the expected result, the observed result and the reason for any difference. Do not include configuration values, tokens or private source notes.
Before checking the answer
Predict the outcome before you run the app. If the result differs, locate the responsible layer: input validation, ViewModel state, provider adapter, storage or rendering. Fixing the wrong layer can hide a symptom without meeting the requirement.
Review guidance
Generation transforms prose using inference; the remaining operations are deterministic app logic. A sample deck does not prove that inference ran.
Explain your decision
What user need would justify the variability and network dependency of a model? Answer with a concrete code reference and one observation from your run. If you can only repeat the terminology, revisit the lesson and demonstrate the behavior before moving on.
Check your work after attempting the exercise
Generation is the model responsibility. Validation, persistence, favorites and review dates are application responsibilities. A manual card reaches local storage without any provider response.
If your result differs: Calling the handwritten sample an AI response confuses presentation with inference. Draw the request boundary and repeat the manual flow without Firebase.
Ready to continue: Your learning log contains a prediction, an observed result and a source reference. You can explain the result without copying this guidance. Carry the evidence into the final assessment.