Where our story started
When 3D Aim Trainer first contacted us, the problems were clear. The platform was suffering from performance issues due to an ever-growing database and a legacy backend system. No one on the team was a dedicated PHP engineer so technical know-how was limited. Furthermore, this work was a distraction from building upgraded dashboard and leaderboard functionality, work that would attract new customers. It was time to make a change.
Advice was given in a fair and direct way, while keeping room for discussion and without pushing personal preferences.
Robin Haegeman, CTO and Co-founder @ 3D Aim Trainer
CTO in residence
We started with CTO in residence and supplemented the engineering team with very senior staff.
For three months, we remediated their initial pain points by aligning a technical vision with the product roadmap, implementing continuous integration and continuous deployment tooling, alleviating performance issues plaguing the platform, and creating a containerized development environment to ease onboarding of new engineers.
The first major decision involved the technologies used within the platform. The system was built as a highly-coupled server side rendered application. Our team recommended decoupling the front-end as a Next.js application while creating a new Laravel API.
We migrated away from the legacy system using the strangler pattern and proxy. A token-based authentication setup ensured the systems were communicating securely.
Madewithlove helped us build the blueprint, not the house.
Robin Haegeman, CTO and Co-founder @ 3D Aim Trainer
Optimizing the environment
The next big decision involved improving the production environment. The platform was in dire need of an upgrade.
Not only was the current system lacking in redundancy, but it was expensive too. Madewithlove guided the 3D Aim Trainer team in their design and implementation of the new infrastructure, DigitalOcean.
The new infrastructure is scalable horizontally and vertically without being over engineered. For data storage (MySQL and Redis), the switch was made to a managed service instead of self-hosted. At the same time, the main data store was reduced in size by over 50% to improve efficiency and continue the cost savings. Wins on all fronts.
Better software & recruiting a new team
The third item we focused on was a new and improved dashboard and leaderboard. This was a major challenge for the team because of the complexity of the domain.
Our engineers helped the 3D Aim Trainer engineers define a snappy and efficient system based on Redis, something that they will continue to improve in the future.
But what happens when madewithlove leaves?
After five months, we turned our attention to scaling the team. Madewithlove has a robust pipeline to help find just the right candidates. We cover everything from resume filtering to technical screening to onboarding. The only thing the company has to do is check for culture add and make an offer.
3D Aim Trainer ended up hiring two senior engineers. Responsibility for the platform was slowly transitioned and now the team and platform are ready to continue growing on their own.