Croozen needed to take a step back and completely evaluate what features were popular, performant, or needed in the future. We also reviewed the existing codebase, which sadly had no documentation or automated tests to aid.
With a clear path of what was needed in the short and near term for the product platform, we firmly believed that a replacement solution written in rails was the best answer.
We restructured and normalized data that came from a schema-less database, with no consistency between records of the same type. Using a traditional schema based database required us to evaluate data requirements, app functionality, and address ways to improve performance in the new platform.
We collaborated after discovery to fully document the user experience in user stories, map functionality to current app screens and upcoming feature designs, and then plan the project to implement, test and launch.
We were able to provide the mobile developers at Croozen with full documentation of the entire API written in blueprint and made available interactively on Apiary. This allowed the mobile team to have immediate and early feedback on the direction of the API itself, as well as begin implementation in parallel using the mock server provided by Apiary.
Collectively we thoroughly tested, in addition to a new suite of automated tests available in the codebase, before performing a dry run of our production launch. We spent significant time ensuring that our scripts to import data and transform to the new system went smoothly with no downtime during the switch.
At the end, we did an off hours DNS switch and data migration with zero downtime and a seamless switch between cloud backends.
As part of our journey launching the new cloud platform, we became even more involved in daily operations and long term planning of the product and platform itself.
The team at Croozen is great and full of passionate people, but aren’t as experienced building, scaling and maintaining cloud software. We have had an amazing time bringing our experience to the team to provide advisement and insight when exploring new features, scalability issues, or improving team and manual processes.
It’s been an amazing journey and incredibly rewarding to be in a position to offer guidance to a team that’s incredibly motivated about their market and product and to watch them grow.
After a year, we’re happy to say that we have launched an entirely new cloud platform, launched several major feature epics, provided a tremendous amount of code coverage and automated tests to move to continuous deployment, and been part of an incredible journey.
We’re excited to continue our relationship with Croozen as we plan major features, partnerships and challenges for us all to tackle.