How We Scaled a Complex EdTech Platform
Vocational education portal
Introduction
Our client reached out to us at a critical moment. Development of their educational platform had stalled: the previous team exited the project without handing over technical documentation or any onboarding materials. This put the launch of new academic sessions at risk, caused downtime, and threatened direct financial loss. The system was already in use, and regaining control quickly was essential to avoid disruption and resume progress.
We helped the client restore control over the platform, re-establish release cycles, and ensure the system’s technical stability—without starting from scratch.
System Overview
The project was a large-scale edtech platform with a wide range of features:
- Management of courses, video lectures, and recorded lessons
- Online exams and testing modules
- Student and instructor dashboards
- Group, schedule, and role-based access management
- Performance analytics and activity tracking
The technical architecture was built on a microservices model:
- 17 Laravel-based microservices communicating over REST APIs
- A Nuxt.js frontend with server-side rendering (SSR) for speed and SEO benefits
- Custom interfaces tailored to each user type
- Load tested to handle up to 600 RPS during peak hours
- Over 20,000 active users
- Integrated with third-party video hosting and authentication services
We encountered one major issue: instead of Laravel’s standard Eloquent ORM, the system used a custom-built Data Mapper. It had no documentation, no tests, and no ties to common libraries like Doctrine. This significantly raised the entry barrier for new developers.
Problem: Total Absence of Documentation
The Situation
The platform was operational but completely opaque. Dozens of microservices, non-standard architectural decisions, and zero documentation. No diagrams, no API specs, and no access to the former developers.
What We Did
- Deployed the platform in a controlled test environment and audited all services/li>
- Mapped internal service dependencies and API calls/li>
- Created internal documentation for key system components/li>
- Aligned technical understanding with the client’s QA and DevOps teams/li>
- Identified architectural bottlenecks and risk areas
Result: Within two days, our team started delivering simple updates. With each new day, we confidently handled increasingly complex tasks. We built a complete understanding of the system and aligned it with business requirements—allowing us to deliver meaningful outcomes fast.
Problem: Navigating a Custom Data Mapper
The Situation
The project didn’t use Laravel’s Eloquent. Instead, it relied on a fully custom-built Data Mapper—unfamiliar, undocumented, and without unit tests.
What We Did
Rewriting the ORM would’ve been too risky and time-consuming. Instead, we focused on understanding and adapting to it through experimentation and reverse engineering:
- Analyzed the Data Mapper’s behavior through test cases and controlled scenarios
- Created internal knowledge base and cheat sheets
- Trained our developers using examples, code reviews, and live walkthroughs
- Established consistent internal patterns for interacting with the ORM safely
Result: The client gained a stable foundation for extending the system without rewriting critical components. Our developers learned how to work within the existing architecture, mitigating technical risks and confidently implementing new features.
Results
We successfully:
Conclusion
If you're inheriting a project/website with no documentation and limited context, this case proves that it's still possible to move forward without pausing your business. Instead of pushing for a full rebuild, we studied the system, trained the team, and restored stability.
This outcome wasn’t luck—it was the result of engineering discipline and hands-on experience. The ability to read undocumented code, adapt to unusual architectures, and embed seamlessly into active projects is what sets Webdelo apart. Our team delivers under pressure by relying on real technical expertise and structured, repeatable methods—not vague promises.