Background
Indonesia's largest volunteering platform decided to update its outdated technology by migrating from Angular.js to React. As a nonprofit organization with limited budget, they found managing an in-house engineering team costly and difficult.
Hyperjump is proud to support this project as part of our corporate social responsibility (CSR) program, providing technology expertise to help drive social impact.
Challenges
- Legacy technology with Angular.js that limited growth and performance.
- High costs and complexity around maintaining an internal development team.
- Initial React migration focused only on the dashboard module using Create React App.
- SEO suffered after trying to use Create React App for public-facing features because rendering was only on the client side.
Our Approach
Hyperjump worked closely with the client's product, engineering, and operations teams. Here's what we accomplished:
Incremental Migration & Modernization
- Migrated the frontend step-by-step from Angular.js to React, starting with the dashboard to keep changes manageable.
- Expanded React use to the public website using Create React App to speed up releasing new features.
- Switched from Create React App to Next.js to enable server-side rendering (SSR), greatly improving SEO and site speed.
- Cleaned up the codebase by removing old dependencies and improving maintainability
Dedicated Product Engineering Partnership
- Served as the client’s outsourced product engineering team, handling ongoing feature development, bug fixes, and maintenance.
- Collaborated closely as an extension of their internal team to stay aligned on goals and priorities.
- Helped reduce costs by offering full product ownership without the burden of managing a large internal team.
Agile & Iterative Delivery
- Used agile methods and regular development cycles to deliver continuous improvements across all parts of the product.
- Stayed transparent and flexible to address challenges and change priorities quickly.
- Performed iterative testing and deployments to keep the platform stable and reliable.
Key Learnings
- Migrating legacy systems gradually helps maintain stability and continuous delivery without disruption.
- Migrating from client-side React to server-side rendered Next.js led to much better SEO results.
- Regular development cycles and close collaboration enable faster bug fixes and new features while keeping quality high.
- Removing outdated dependencies lowers technical debt and makes the codebase easier to maintain
Impact
After months of close collaboration, we achieved the following:
Following the success of the tech migration and ongoing product improvements, Hyperjump will continue working with the client to expand the volunteering platform. As the user base grows, efforts will focus on improving scalability and performance.
