Building specialized CMS for EdTech: How SnapSoft developed a complex lesson data management system for CAPIT using AWS, NodeJS and React - SnapSoft
Building specialized CMS for EdTech: How SnapSoft developed a complex lesson data management system for CAPIT using AWS, NodeJS and React

Building specialized CMS for EdTech: How SnapSoft developed a complex lesson data management system for CAPIT using AWS, NodeJS and React

Building specialized CMS for EdTech: How SnapSoft developed a complex lesson data management system for CAPIT using AWS, NodeJS and React

Client:

Company Logo

Region:

US

Industry:

EdTech

SnapSoft partnered with CAPIT to develop a custom content management system (CMS) for their gamified Reading application. The CMS manages students' lesson and exercise data, allowing CAPIT to control its educational content with greater flexibility. The project started with deep technical research and a UX phase to propose the best solution. One of the key challenges was supporting CAPIT’s existing lesson logic while introducing new features to enhance content creation and curriculum management. SnapSoft delivered a cloud based web application using NodeJS and a new API structure, which allowed CAPIT to manage both existing and new content seamlessly. This involved building a completely new web application in React that integrated with existing database schemes, user authentication systems, and third-party tools like Flagsmith for A/B testing. As a result, CAPIT now enjoys a robust system that allows them to quickly update lessons and exercises based on user feedback, all without system downtime.

Our partner said

SnapSoft quickly understood our unique learning logic and its associated data structure, creating a solution that makes it easy for us to build and manage our lesson and exercise content. Their team delivered a user-friendly interface that masks the complexities of our system, and they provided transparent communication throughout the project. SnapSoft’s technical, design, and product expertise has been invaluable.
Tzippy Rav-Noy
Co-Founder, Head of Product
SnapSoft quickly understood our unique learning logic and its associated data structure, creating a solution that makes it easy for us to build and manage our lesson and exercise content. Their team delivered a user-friendly interface that masks the complexities of our system, and they provided transparent communication throughout the project. SnapSoft’s technical, design, and product expertise has been invaluable.

About the Customer

Capit Learning is a US-based startup that creates educational software to teach children to read and write. Their main product, the CAPIT Reading Curriculum, is designed to make learning engaging and effective for young students.

Customer Challenges

CAPIT sought to introduce a new learning level for students and expand their lesson and exercise offerings in their reading and writing application. However, their current system did not support lesson creation or modification:

  • No platform to manage or add new lessons.
  • Limited ability to modify existing lesson content (audio, images, text, etc.).
  • Complex interdependencies between content types (e.g., sounds, letters, spelling rules, words), with all content built from atomic units that required specialized logic and rule sets.
  • Changes required direct database modifications, demanding engineering support for every content update.
  • Limited or missing documentation or code structure for low level rules and validation.

Why SnapSoft?

CAPIT_cms_design_alternatives.png

SnapSoft brought expertise in building complex ecosystems on scalable cloud infrastructure, coupled with a strong background in custom application development and legacy system integration. SnapSoft provided an end-to-end (E2E) solution, which included:

  • System and UX/UI design, offering multiple solution proposals.
  • Iterative technical implementation, following a robust QA and testing process.
  • Detailed system and feature documentation, including user guides. This comprehensive approach enabled CAPIT to transition from a rigid, engineering-dependent system to a flexible, scalable CMS.

Why AWS?

AWS was selected for its scalable, secure, and reliable cloud infrastructure, essential for modern application development. AWS’s services ensured CAPIT’s CMS could grow and adapt without compromising performance or security.

Strategy and Solution

Screenshot 2025-02-24 at 14.55.48.png

Technical Deep Dive

SnapSoft initiated the project with a thorough technical analysis of CAPIT’s existing application and database. The goal was to fully understand the current system's limitations, especially the unique rules governing the content structure. Goals of the deep dive:

  • To understand how content editors would like to use the application and what their feature requests are.
  • To understand the current pain points that should be addressed.
  • Existing curriculum limitations that could be unlocked by modifications.
  • Maintaining existing data structure while thinking of the future.

Solution Architecture and UX/UI Design

Once CAPIT approved the proposed solution, SnapSoft developed the system architecture and created user flow designs. The team also planned an environment strategy to support content migration and validation workflows. This included the development of user-friendly interfaces for different user groups, with A/B testing and validation capabilities through Flagsmith.

Parallel to solution design, SnapSoft’s product team initiated UX/UI design using the MUI design kit to streamline component creation. Multiple design iterations were conducted, incorporating feedback loops from both users and technical teams. By the end of this phase, SnapSoft delivered a high-fidelity Figma design, detailed feature specifications, and UX flows for development.

Technical Implementation

SnapSoft opted to create a completely new system from scratch as the solution could be separated from the original system which supports the daily workload of the end users. By separating several workloads to the new system, SnapSoft ensured several integration points towards the existing backend to work the two systems seamlessly side by side. All content specific customization and transformation are wrapped into separate cases which have a unique responsibility.

The backend is built via Fastify NodeJS framework including controller and unit tests. The frontend part of the CMS is built by React which connects to the dedicated CMS server via REST API calls after a proper authentication.

In order to make sure the CMS system could be always deployed without fear that the frontend is not compatible with the backend, SnapSoft opted to use NX monorepo with multi module setup. This setup also helps SnapSoft create shareable components between different modules and all components have their own responsibility to expose only those methods that are truly reusable by other modules. To ensure integrity whenever a new code change is requested (pull request) system wide checks are run on our CI platform to make sure everything is compatible and run all tests for both backend and frontend.

Key Elements of the Implementation:

  • Monorepo creation
  • Database schema updates
  • Centralized API management.
  • React-based front-end implementation

Feature Implementation

To support CAPIT's lesson-building needs, SnapSoft developed a suite of features:

  • Curriculum Dashboard: Users can view existing Level 1-3 lessons and manage the newly added Level 4 curriculum.
  • Lesson Builder: Enables users to create, update, and manage lessons, including changing lesson statuses for content review and A/B testing.
  • Exercise Builder: Users can add exercises to lessons, ensuring seamless content creation with immediate availability in the live app.
  • State Manager: Utilizes Flagsmith for lesson state management, supporting A/B testing and content publishing in live environments.
  • Content Manager: Supports the creation of underlying content types with complex validation rules, using AWS S3 for asset management.
  • Access control: Allows CAPIT to manage access control for different user groups, enabling internal testing, beta releases, and live updates.

The primary challenge was ensuring that these new features didn’t disrupt existing content management logic. The SnapSoft team implemented content-type-specific rules to ensure compatibility and prevent game flow disruptions.

External Integrations

SnapSoft integrated key tools to enhance user experience and system efficiency:

  • Flagsmith: Enabled A/B testing of beta lessons without developer intervention, allowing CAPIT to test new content with specific user groups before full release.
  • Sentry: Provided bug tracking and error resolution to maintain system stability.

Test Strategy and Management

SnapSoft developed an extensive test strategy, integrating with CAPIT’s existing testing processes in Qase to ensure end-to-end validation. The new system included over 40 test cases and 14 test plans, ensuring thorough coverage of content creation and user journeys.

Key Testing Elements

  • Automated bug tracking
  • User journey-based test plans
  • Manual and regression testing

Documentation and User Guides

SnapSoft produced comprehensive documentation covering the technical, feature-specific, and functional aspects of the CMS. This included:

  • System architecture
  • Technical and API documentation
  • Feature specifications
  • Content management guidelines
  • Video-based user guides

This documentation empowers CAPIT’s team to manage both the technical and business aspects of the system with ease.

Screenshot 2025-02-24 at 14.56.45.png

Results and Benefits

CAPIT’s newly developed CMS has been a game-changer, enabling them to manage, build, and update their reading application with ease.

Benefits to the End-Users:

CAPIT students now have access to Level 4, a completely new set of lessons and exercises that continue their learning journey in an engaging, gamified environment.

Benefits to CAPIT:

  • CAPIT now has full control over its content management system, allowing it to create, update, and iterate lessons based on real user feedback.
  • The CMS supports future curriculum expansions, enabling CAPIT to introduce new learning levels seamlessly.
  • Consistent content with validation to ensure existing codebase will able to fully function with new or existing content

igor-starkov-s4GL0XwPSIU-unsplash.jpg

Technology stack

React
React Query
zod
AWS S3
AWS ECS
CloudFront
Fastify
TypeOrm
Material UI
Figma