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:
Accurately assess each student's ability level
Provide appropriately challenging content
Adapt in real-time to student performance
Give actionable insights to teachers
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.
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.
Personalized Content Recommendations
A recommendation engine uses collaborative filtering and gradient boosting to suggest topics for students to reinforce, based on their performance history.
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.
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.
Gamification
The platform includes features like skill levels and concept mastery badges to motivate students and keep them engaged.
Comprehensive Learning Resources
Zapien includes 12,000 calibrated math exercises and 200 content guides (videos, examples, articles) aligned with international and Chilean curricula.
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.
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.
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