Success story

Socrative Development of an E-learning Platform (Agile team)

Client location
Boston, UNITED STATES
Business area
Education
Product
Web Platform
Delivery center
Bucharest, ROMANIA
Project type
Development

About the client

Socrative is an American e-learning platform created by a team of teachers, entrepreneurs, and engineers. Its mission is to connect teachers and students by providing fun and effective tools to gauge student understanding in real time. Those tools enable teachers to modify their instruction to drive student learning most effectively.

Socrative designed the platform with pedagogical underpinnings based on the Teaching for Understanding framework, Bloom’s Taxonomy, the Socratic method, and John Seely Brown’s philosophy of play, questioning, and imagination. The intelligent response system for classroom learning provides a series of educational games for smartphones, laptops, and tablets.

The platform’s components are easy to use and enhance classroom engagement, assessment, and personalization.

Since 2010, Socrative has delivered formative assessment tools to teachers around the world. Currently, the Socrative web application has nearly 3 million users worldwide and is available in 14 languages.

Python
Django
JavaScript
Backbone.js
PostgreSQL

The challenge

Socrative contacted Pentalog to develop a new version of its e-learning platform as a tool for interaction and sharing between teachers and students.

The initial version of the web application was written in Java, and it was using long polling to provide real-time communication between the students and the teachers (teachers could see student responses in real time). This implementation could not scale to meet growing demand, and with Socrative’s success came the need to modify the application so that it would scale while becoming faster and more reliable.

So, in the first phase, we added a WYSIWYG editor for questions on the frontend. Then, we managed to stabilize the frontend and remove bugs from editing questions.

During our 5-year collaboration, the Pentalog team also supported the client by creating a responsive and easy-to-use application. We handled every request regarding bugs fixes, server errors, launching new features, as well as design changes, all with maximum efficiency.

Do you want to build a similar project?

e-learning platform

The solution

Pentalog quickly identified the right resources to effectively meet both functional (high technical skillsets) and operational (short response time) requirements for this innovative project.

Since December 2013, Socrative has trusted a Pentalog team, initially comprised of two engineers, to develop the new version of its e-learning platform (b.socrative.com), a cloud-based student response system developed in Django Python.

Socrative provided this e-learning tool via the web and native iOS and Android mobile apps, allowing teachers to create and distribute quizzes and conduct polls in class.

We started with one backend developer and one junior frontend developer located in our Pentalog office in Bucharest, Romania. A U.S.-based Socrative engineer coordinated, acting as Scrum Master and participating in code reviews and software development.

The following year, the team grew with another senior frontend developer and maintained this size for another two years. Then, we scaled back to two people: one senior backend developer and one senior frontend developer.

The team used Agile methodology (Scrum) with short delivery cycles (1-week sprints) to enable our client to quickly implement and deploy new platform features. Our daily meetings started at 5:30 pm Romanian time (10:30 am EDT), where we discussed what we accomplished, our future goals, and if there were any blocking points. After a few months, we shifted the working schedule to align more with the U.S. time zone (so, we started the work around 1 pm, Romanian time thus 6:00 am, EDT).

As backend technologies, we first used Django 1.6, and then switched to 1.11 towards the end of the collaboration. We also used AWS RDS (Postgres) and Redis to cache http responses.

On the frontend side, we switched to React with Backbone routes and models. Towards the end of our collaboration, we migrated part of the backend services to NodeJS since all of our team members utilize JavaScript.

For real-time messaging, the team used a commercial solution (pubnub.com).

The Socrative CEO acted as Product Owner, planning activities for each sprint. He was like the glue that held the team together, building a friendly working environment where we could discuss new ideas and have fun together, although remotely. One time, we even had the chance to meet in person when the entire Pentalog team was invited to Salt Lake City, Utah in the U.S.

Pentalog optimized and stabilized the Socrative e-learning platform in about one year. During each sprint, we optimized the application and made it more stable and more efficient. We also migrated some data from Socrative 1.0 (MySQL) to PostgreSQL.

Frederic Lasnier interviewing Benjamin Berte, Socrative Co-founder and CEO (Harvard University graduate).

The results

The application based on the Django Python platform includes the following features:

  • Create and share a variety of educational quizzes, including true/false, multiple-choice, quick answers, and short answers;
  • Definition of a classroom and invitation to students to participate
    Student competition, posting rankings, and live results;
  • Alternative to traditional teaching methods;
  • Integration with «Google Apps for Education».
  • During the 2012-2013 school year, Socrative recorded 116 million responses to its questions. More than three million teachers and students created and shared 278,000 quizzes.

    When our collaboration ended in 2018, there were about 60 million student accounts and more than 3 billion student responses recorded.

    Overall, the Pentalog team improved the existing Python solution called Socrative 2.0 and optimized it to scale for a higher number of concurrent users.

    • We cut costs by reducing the number of EC2 instances needed on the cloud from about 50 to 12 during peak times.
    • The average response time for the APIs decreased from 250-300 ms to 25-30 ms after about one year of maintenance and development of new features.
    • When the Pentalog team was involved in this project, there were about 650K teacher accounts. At the end of the collaboration, there were more than 3 million teacher accounts.
Chris Hote
VP of North America sales

Reach out to us,
describe your project

Choose a development category


Software
development
Web
development

Mobile
development

DevOps


UX/ UI
design

QA Testing


Security


Technical
Due Diligence

Technologies you will need

Technologies you will need

Technologies you will need

Technologies you will need

Choose the type of contract