Client

Our client is a technology organization offering the scientific community an online research and networking platform. The organization’s goal is to promote knowledge exchange and ensure openness and reproducibility of scientific research. Here, users can share their work, store data and materials, collaborate on projects, publish preprints, and create registrations.

The platform is open-access and is used by 850 thousand global researchers from all over the world. The solution has won immense trust from central US and European universities, including Oxford, Yale, Berkeley, Princeton, MIT, and others.

Public agencies, most notably the Japanese government, use the solution’s open-source code as a foundation for their solutions.

Challenge

The client’s research management and collaboration platform has been on the market for a decade, but has lacked version updates in the past six years. Out-of-support technologies in the stack exposed the system to security risks and caused slow performance.

With every new technology version available but not implemented, the system would slow down and pile up tech debt. The client realized that more delays would make future migration more and more expensive.

Initially monolithic, the client’s team gradually transitioned the platform to a hybrid microservices architecture. This also meant extra engineering work.

Having worked with Exoft previously, the client didn’t hesitate to engage us to modernize the platform.

Cooperation

We kicked off the project in 2024 with only two developers. In a year, we engaged 10 people, integrating them into four separate clients’ teams.

  • Agile practices introduction: We engaged a Scrum Master and took accountability for implementing agile best practices: bi-weekly sprints, backlog grooming, retrospectives, etc.
  • US time zone coverage: The team covers both Ukrainian and US working hours, ensuring prolonged availability and faster issue resolution.
  • Knowledge sharing: We extend product documentation, note down lessons learned, and reduce knowledge gaps.

Research Management Platform Modernization

In 6 months, we successfully transitioned the scientific collaboration platform from Python 3.6 to Python 3.12. The work also included Django and Flask modernization.

This involved partial redevelopment, code refactoring, and major troubleshooting. We improved system performance, addressed security vulnerabilities in older versions, and adopted more modern libraries and tools.

Microservices Optimization

We created a separate microservice with third-party integrations in a scientific collaboration platform. These add-ons include Google Drive, Microsoft OneDrive, Dropbox, GitHub, OneCloud, and others. They enable storage management and fast file sharing within the research management platform.

By isolating third-party integrations into a standalone service, we enabled simpler maintenance and laid the foundation for more add-ons in the future.

Manual and Automation Testing

We combine automated and manual testing in a 50/50 ratio. We provide load testing, integration testing, regression testing, sanity testing, and acceptance testing.

Further System Maintenance

We maintain and optimize the solution. In parallel, our teams enabled verification of resources, improved notifications, refactored APIs, added version control in preprints, and covered the whole solution with unit tests.

Results

The optimized solution has a clear architecture supported by newly introduced microservices. The updated code is easier to maintain, scale, and reuse. The tech debt shrank, allowing for better feature development workflows.

We also improved the overall software development processes: implemented Scrum sprints, documentation, and knowledge sharing. Other achievements include:

  • 20% performance improvement after the code upgrade and refactoring
  • 70% of automation test coverage, reducing regression risks and speeding up releases
  • Refined business logic for a more reliable app behavior
  • Future technology updates will take just 1–2 bi-weekly sprints instead of six months
  • Improved stability and scalability of the hybrid microservices architecture
  • High-quality open-source code, adopted by universities and government agencies
  • Reliable, fast, and seamless platform experience for 850 thousand users worldwide