Skip to case study
PK® / Case study

Independent product case study / Education technology and adaptive practice

SparkTutor

Make the next learning step feel achievable—and explain why it changed.

SparkTutor is a privacy-conscious, rule-based adaptive learning prototype for mathematics and programming. It adjusts difficulty from learner performance, provides layered instructional support, and tracks chapter-level mastery in the browser without an account or a runtime generative-AI model.

Coverage
10 math chapters · 42 programming checkpoints
Adaptation
Two correct raise · one miss lowers · levels 1–5
Learner data
Versioned browser-local path records
Runtime AI
None · deterministic reviewed responses

01 / Brief

A decision, not a dashboard.

Problem

Practice products can feel either generic or mysteriously personalized.

Learners need a clear next step, useful help after a miss, and progress that belongs to the topic they practiced. A trustworthy prototype also has to explain its adaptation, avoid overstating curriculum depth, and protect young users without adding account friction.

Primary user

A learner who wants low-pressure practice—and a caregiver who wants visible boundaries.

The experience uses large controls, friendly language, keyboard-visible focus, staged support, and no required profile. K–5 currently receives mathematics only; text-based programming begins in grades 6–8 and remains explicitly labeled beta.

Ownership

End-to-end product work

  • Defined the adaptive rule: start by grade band, raise one level after two consecutive correct answers, lower one level after a miss, and remain within levels 1–5.
  • Designed the learning-world navigation, challenge workspace, four-step hint ladder, path mastery board, and shared-device reset controls.
  • Implemented versioned local persistence separated by grade, subject, and chapter, including malformed-state recovery and K–5 subject enforcement.
  • Built answer normalization for numeric and syntax-equivalent formats such as 8.0, x = 8, ROW_NUMBER, and ROW_NUMBER().
  • Created fixed lesson-bound coach responses for hints, examples, off-topic prompts, answer extraction, and prompt-injection attempts.
  • Authored the public methodology, evaluation, privacy, content-reference, AI-disclosure, known-limitations, and release evidence.

02 / Architecture

Evidence moves through a visible system.

Each stage has a bounded responsibility. The interface preserves source context and leaves the final judgment with the person using it.

  1. 01

    Choose an age-appropriate path

    Grade band selects a starting pace and the subjects available to the learner; K–5 is limited to mathematics in the current beta.

    Grade → allowed subjects → default chapter → initial difficulty
  2. 02

    Generate a bounded challenge

    A deterministic TypeScript engine chooses a reviewed mathematics variation or a chapter-aligned programming checkpoint.

    No browsing · no runtime model · no open-ended generated content
  3. 03

    Normalize and evaluate

    Whitespace, casing, numeric decimals, x = notation, and optional function parentheses are normalized before an accepted-answer comparison.

    Transparent accepted formats · no symbolic algebra or code execution
  4. 04

    Adjust one level

    Performance updates the current path only. Two correct answers raise the next level; a miss lowers it and opens supportive guidance.

    Bounded 1–5 difficulty · path-scoped streak and mastery
  5. 05

    Reveal support progressively

    Learners move through a conceptual hint, first step, similar example, and full explanation after an attempt.

    Reviewed strings tied to the current chapter · solution gating
  6. 06

    Persist locally and visibly

    A versioned learner record stores per-path totals in the browser, while reset controls support shared devices and privacy-aware recovery.

    No account · no learner database · no runtime coach transmission

03 / Product decisions

The constraints shape the experience.

Tradeoffs made visible

Explainable rules over opaque personalization

The adaptive behavior is simple enough for a learner, caregiver, or recruiter to inspect. It does not claim predictive mastery or AI-driven pedagogy.

Reviewed scope over generated breadth

The coach stays inside local chapter content. This limits conversation variety but prevents invented explanations and keeps evaluation reproducible.

Local persistence over cross-device accounts

No sign-up reduces data collection and friction, but progress does not automatically travel between browsers or devices.

Programming begins later

Rather than placing text-based variable and syntax questions in K–2, programming becomes available from grades 6–8. A future early-computing path would require visual, audio, and educator-reviewed interaction design.

Failure is a designed state

A refresh resets progress

The learner state now hydrates from a versioned local key before persistence begins; browser tests verify that XP and path mastery remain after reload.

College work leaks into K–2

Records are keyed by grade, subject, and chapter. Switching paths shows separate accuracy, streak, level, and XP, and reset-this-path leaves other records intact.

A valid answer format is rejected

The normalizer accepts documented numeric and syntax variants. Unmatched formats return a useful reason and the current conceptual hint instead of a bare wrong state.

The coach is pulled off topic

Prompt-injection and off-topic categories return clear boundaries naming the current chapter. The coach cannot browse, reveal hidden instructions, or switch into an unrelated assistant.

04 / Evaluation

What the system should be tested against.

This is the evaluation surface documented by the implementation—not a claim that every target has already been met.

01

Chapter coverage

208 scripted interactions exercise four generated challenges across every currently advertised chapter, requiring complete prompts, hints, examples, explanations, accepted answers, and rejection of invalid input.

02

Answer equivalence

Twelve documented cases cover numeric decimals, equation notation, SQL functions with optional parentheses, capitalization, spacing, and representative programming formats.

03

Coach boundaries

Ten cases exercise prompt injection, answer extraction, off-topic health, news and finance prompts, hints, first steps, examples, and chapter-specific fallback.

04

Persistence and age rules

Nine cases cover versioning, corrupt records, numeric bounds, path separation, invalid path removal, defaults, and enforced math-only K–5 state.

05

Browser workflows

A release walkthrough verifies K–2 restrictions, correct grading, reload persistence, SQL normalization, mastery separation, hint gating, coach refusal, reset isolation, navigation, and public evidence pages.

06

Release integrity

ESLint, strict TypeScript, the automated suite, production build, custom-domain redirect, semantic structure, and desktop visual review must pass before deployment.

05 / Build ownership

What I owned—and where AI assisted.

AI accelerated drafting, implementation alternatives, and adversarial review. Product judgment, source selection, interface decisions, testing, and release approval remained mine.

01

What I decided and designed

Defined the adaptive rule: start by grade band, raise one level after two consecutive correct answers, lower one level after a miss, and remain within levels 1–5. Designed the learning-world navigation, challenge workspace, four-step hint ladder, path mastery board, and shared-device reset controls.

02

What AI assisted

Exploring implementation options, generating draft test cases, checking edge cases, and accelerating repetitive code—always reviewed against the product boundary.

03

What I personally tested and changed

Chapter coverage, Answer equivalence. Failures were converted into visible recovery states and narrower claims.

04

What I learned

Trust improves when missing evidence, partial provider failures, and the human decision are designed as first-class states instead of footnotes.

05

What I can explain technically

Choose an age-appropriate path → Generate a bounded challenge → Normalize and evaluate → Adjust one level → Reveal support progressively → Persist locally and visibly.

06

What I would change in production

The learner state now hydrates from a versioned local key before persistence begins; browser tests verify that XP and path mastery remain after reload.

06 / Provenance

Every conclusion keeps its source boundary.

Mathematics scope

Common Core State Standards for Mathematics

A primary reference for U.S. K–12 mathematics domains and progression terminology.

Source ↗
Computer science scope

CSTA K–12 Computer Science Standards

A primary reference for age-banded computer science concepts and practice boundaries.

Source ↗
Python

Official Python tutorial

Language behavior and foundational programming terminology.

Source ↗
Java

Dev.java learning resources

Official Java language learning and platform references.

Source ↗
SQL

PostgreSQL tutorial

Primary SQL concepts including querying, joins, aggregations, and window behavior.

Source ↗
Web development

MDN Learn Web Development

Web-platform terminology, semantic HTML, CSS, responsive design, and accessibility references.

Source ↗

Implementation note

Last verified from source

Reviewed against 208 scripted chapter interactions, answer-equivalence and coach-boundary cases, versioned learner-state tests, the production build, and a critical browser workflow. This is product evaluation—not proof of educational outcomes, curriculum completeness, or accreditation.

See the system under real conditions

Try SparkTutor.

Open live demo