Zapien: Adaptive Math Learning Platform

Zapien: Adaptive Math Learning Platform

Zapien: Adaptive Math Learning Platform

Date

Date

Date

2018 - 2022

2018 - 2022

2018 - 2022

Service

Service

Service

Product

Product

Product

Client

Client

Client

Startup

Startup

Startup

Live Preview

Live Preview

Live Preview

Overview

Zapien is an adaptive learning platform I co-founded to improve how students learn mathematics by providing personalized content and real-time assessments. Built with Ruby on Rails and Vue.js, Zapien aims to assess each student's skill level accurately and adapt to their unique learning needs. Think of it as a "smart tutor" that adjusts to each student's level in real-time, making math learning more engaging and effective. Our mission is to empower teachers and engage students through tailored educational experiences.

The Challenge

Math education faces a fundamental challenge: every student learns differently and progresses at their own pace. Traditional one-size-fits-all approaches leave some students bored and others struggling to keep up. Assessing and supporting students' math skills effectively in classrooms is challenging due to varying levels of ability. Teachers often lack the tools to tailor learning experiences for each student, resulting in missed opportunities for growth. Zapien was designed to address this gap using adaptive algorithms and a recommendation engine to provide individualized learning paths that:

  1. Accurately assess each student's ability level

  2. Provide appropriately challenging content

  3. Adapt in real-time to student performance

  4. Give actionable insights to teachers

  5. Keep students engaged and motivated

The Solution

Zapien's approach is driven by psychometric principles, primarily leveraging Item Response Theory (IRT) to determine each student's skill level. Here are some key features:

Student-Driven Content Creation

We implemented a feature that allows students to generate their own study materials. By inputting topics they want to practice, the system creates personalized quizzes using natural language processing and our extensive question bank. This feature enhances student autonomy and helps them focus on areas they find challenging.

undefined

Adaptive Assessment System

Each student starts with questions suited to their estimated ability ($\theta$). Based on the student's performance, $\theta$ is updated iteratively using a modified version of the Two-Parameter Logistic Model:

$$P(\theta) = \frac{1}{1 + e^{-a(\theta - b)}}$$

Where $a$ is the discrimination parameter and $b$ is the difficulty level of the question. This helps Zapien estimate a student's true ability with high accuracy.

undefined

Personalized Content Recommendations

A recommendation engine uses collaborative filtering and gradient boosting to suggest topics for students to reinforce, based on their performance history.

undefined

Question Selection Algorithm

To ensure students receive the most informative questions, Zapien uses the Item Information Function (IIF) to select questions that provide maximum information about the student's ability level:

$$I_i = a_i^2 P_i(\theta)Q_i(\theta)$$

This helps adapt content to each student more effectively.

undefined

ELO-Based Parameter Updates

Later in development, we introduced an algorithm based on the ELO rating system (commonly used in chess) to update the question parameters dynamically. The ELO system allowed us to adjust the difficulty of questions based on student interactions, making the system more responsive to real-time changes in student ability. The new difficulty parameter ($b'$) was updated using:

$$b' = b + K(Q - E)$$

Where $K$ is the adjustment factor, $Q$ is the outcome (correct or incorrect), and $E$ is the expected outcome based on the current ability level and question difficulty. This dynamic adjustment helped maintain question relevance over time.

def calculate_level(answers_size, user_level, answer)
    return [0, 0] unless answers_size.positive?
    correct = answer.is_correct ? 1 : 0
    prob = probability_of_correct_answer(user_level, answer.question)
    theta_new = (user_level + k(answers_size) * (correct - prob)).clamp(-3, 3)
    b_new = (answer.question.difficulty - K_QUESTIONS * (correct - prob)).clamp(-3, 3)
    [theta_new, b_new]
  end
def k(answers_size)
    [1 / (1 + 0.01 * answers_size), 1 / (1 + 0.01 * MAX_ANSWERS_SIZE)].max
  end

Gamification

The platform includes features like skill levels and concept mastery badges to motivate students and keep them engaged.

undefined

Comprehensive Learning Resources

Zapien includes 12,000 calibrated math exercises and 200 content guides (videos, examples, articles) aligned with international and Chilean curricula.

undefined

Teacher Insights

Teachers get performance dashboards with actionable insights on each student's progress and adaptive exam generators to create tailored quizzes in just a few clicks.

undefined

Technical Stack

  • Backend: Ruby on Rails, handling adaptive logic, recommendation system, and API endpoints.

  • Frontend: Vue.js for dynamic, responsive user interactions.

  • Database: PostgreSQL for storing user performance, question data, and assessment results.

  • Analytics: Python (NumPy, Pandas, scikit-learn) for analyzing performance metrics, calibrating skills using logistic regression, and gradient boosting for recommendations, and ensuring continuous improvement.

undefined

Product Development

To design and scale Zapien, I led both the technical and product vision:

  • Product Discovery: Conducted 50+ user interviews with teachers, students, and school administrators to ensure we were solving the right problems.

  • Feature Prioritization: Analyzed 15+ competitor platforms and defined a roadmap with a focus on adaptive assessments and real-time recommendations. This roadmap achieved a 95% sprint completion rate over six months.

  • Scaling: Launched and scaled the platform to serve 35,000 students across 180 schools in Chile, with the ability to handle over 10,000 daily interactions.

  • Teacher Buy-in: Focused heavily on teacher adoption, as their satisfaction was crucial for the success of the platform.

Results and Achievements

  • Impact on Learning: Implemented a Three Parameter Logistic (3PL) Model to calibrate difficulty and discrimination for 12,000+ math items, improving ability estimation accuracy by 15%.

  • Engagement and Performance: The adaptive ELO-based system processed daily interactions and adapted content in real time, resulting in a 21% boost in predictive accuracy and a 26% increase in student engagement.

  • Teacher Satisfaction: Achieved a 97% teacher satisfaction rate through features like automatic feedback, performance dashboards, and the ability to customize assessments.

  • Recognition: Won multiple innovation awards, including the TECLA Award from Caja Los Andes and the Enseña Chile Entrepreneurship Competition.

What I Learned

Working on Zapien taught me how to balance technical complexity with user experience. Developing an adaptive learning system pushed me to dig deep into data science, including psychometric modeling and algorithmic improvements. At the same time, managing product development and scaling the platform taught me valuable lessons in agile development and team collaboration. These experiences helped bridge my roles as both a data scientist and a product strategist.

Building Zapien was a journey that helped me grow in multiple dimensions:

  • Technical: Deep dive into ML, adaptive algorithms, and full-stack development

  • Product: User research, feature prioritization, and product strategy

  • Leadership: Managing development teams and stakeholder relationships

  • Impact: Creating meaningful change in education through technology


More projects

Matias Hoyl · mhoyl@stanford.edu

© 2024 Matías Hoyl. All Rights Reserved.

Matias Hoyl · mhoyl@stanford.edu

© 2024 Matías Hoyl. All Rights Reserved.

Matias Hoyl · mhoyl@stanford.edu

© 2024 Matías Hoyl. All Rights Reserved.