Fiero Code

Thanks to the end-to-end technical groundwork of the web application, this learn-to-code software platform is primed and ready to embark on new challenges in the upcoming growth phase.
Read more about a life-changing project that provides exquisite digital literacy skills to children and teens. Turning their attention to underprivileged groups, Fiero also hopes to support communities in prison, refugees, and homeless people.
Fiero Code's UI - workout sessions
  • Meteor
  • React
  • mongo DB
  • Meteor
  • React
  • mongo DB
clock
Project duration
  • Since December 2021
Industry
  • Education
web development
Services provided
  • Web Development
  • Maintenance
  • Quality Assurance
vazco team around a table
Team
  • 2 Developers (Senior/Mid)
  • 1 Tester
  • 1 Technical Project Manager
globe
Country of operation
  • United States

What does Fiero Code say about the project?

Luke Miller Fiero Code

Project summary

  • Through code refactoring, managing technical debt, and introducing automated testing, we successfully improved the application's quality, stability, and maintainability.
  • Our team maintained multiple editors for programming education and executed a complex integration with a block-based programming language editor with future implementations in mind.
  • The core section of the application experienced a significant performance boost, leading to a 150% faster loading time for pages with editors.

About the project

Since 2013, Fiero Code’s mission has been to give hope and a future through computer programming education. They offer various courses, catering primarily to kids and teens. They cover fundamental programming languages such as JavaScript, Python, and related technologies, including CSS or HTML. Thanks to the integration with the application, the platform is conveniently organized for end-users.
Their collaboration with libraries and schools is at the core of Fiero Code's operations. By fostering these partnerships, the company empowers young minds to embark on their coding journey, irrespective of prior knowledge or background.

How the client selected Vazco as their delivery partner

Vazco was recommended to Fiero Code by Meteor Development Group since Meteor is at the heart of our core technology stack. The client approached us in 2021, seeking consultation services. However, they soon decided to extend our cooperation due to our value to the project. We were then responsible for holistic maintenance of the application, including timely bug fixes as they emerged and heavyweight development tasks.
More importantly, our engagement in the project has evolved as Fiero Code has introduced ambitious plans for the future. To prepare the project for an extensive growth phase, the app required our proactive approach: we needed to identify and remove any obstacles that stood in the way of success.

What client challenges did the team have to overcome?

  • Implementing a complex integration with Scratch

    We accomplished a successful execution of complex integration with Scratch. While the editor (a learning tool for young kids) may be considered less advanced, this strategically important implementation proved challenging and demanded the expertise of a senior developer. Additionally, we played a crucial role in maintaining external tools tailored for programming education.
    For example, optimizing the programming language editors resulted in rendering and execution times being significantly reduced, with improvements ranging from 5 to 110 times faster, depending on complexity. This enhancement efficiently handles large outputs and prevents crashes, providing a seamless user experience.
  • Code refactoring

    During our maintenance work, we discovered several structural flaws and excessive complexity in the codebase. Therefore, our objective shifted towards improving project maintainability and streamlining the implementation of complex functionalities. We presented the client with a well-defined refactoring program, outlining specific steps and prioritizing tasks as urgent, major, and minor. The client recognized the value of our solution, and we diligently got down to business.
  • Managing technical debt

    In every project, there is a presence of technical debt that needs to be managed effectively to prevent hindrances. When accumulated, it can create a complex web of challenges. Because of this, new programmers face difficulties in implementing changes. It slows down the implementation of new functionalities – thus impeding growth. We assisted the client in comprehending the implications of technical debt. By systematically reducing technical debt, we improved code transparency, facilitating smoother development and maintenance processes. As a result, the client experienced accelerated project progress, enabling them to seize growth opportunities more efficiently.

  • Handling obstacles standing in the way of success

    Our refactoring program and automated and manual tests significantly improved project stability. Fixes that were once frequent and complex became smaller in scale, less common, and easier to handle. Our emphasis on establishing proper processes and methodologies brought clarity and understanding to the client. With ambitious growth plans for Fiero Code, the app is now well-prepared to sail to open waters.
  • Application redesign

    Over time, the project has undergone significant visual enhancements due to a comprehensive redesign based on the mockups provided by the client and – when necessary – our decision-making. The app has changed significantly compared to the previous year, providing an even more visually appealing and user-friendly interface. Introducing many new functionalities has also transformed the application's core. From a user perspective, the rework includes several key enhancements, which we will discuss shortly.
    The admin's perspective benefited from bug resolutions, contributing to smoother operations. The changes further advance the excellent user experience Fiero Code is dedicated to delivering.
  • Gamification

    From a user perspective, the rework includes key enhancements such as a revamped onboarding process, a unique avatar-building system, and gamified rewards. Users unlock robot parts by completing workouts or missions, which allows them to customize avatars. Gamification and personalization have received positive feedback. This approach motivates users to pursue even more learning opportunities and enhances their experiences with Fiero Code’s platform, which we expect to improve engagement and retention further.

How did we navigate the client for success?

Preparing the project for the growth phase requires, shall we say, “grassroot work”. We helped steer the client’s project towards a more successful path by emphasizing the importance of establishing a structured process and methodology. Without addressing the existing state of the application, instead of solely focusing on fixes and developing new functionalities, the client could experience further complexities and significant time delays down the road. Our proactivity prevented this unfavorable outcome, ultimately providing much more than maintenance.

    However, this couldn’t have been done without a cordial relationship with the Fiero Code team, marked by strong mutual trust and our team’s proactivity. We would often solve problems that were implied by the description of a task or suggest a solution, whether it came down to involving automated testing or code refactoring.
    The client also relied on our expertise, including us in consulting the growth roadmap from both technological and business perspectives. We couldn’t have been more grateful for how smooth and pleasant Fiero Code has been to collaborate with.
    Working in a time & material collaboration model, we leaned more towards Kanban than Scrum. We maintained a board where the client could add and prioritize tasks, allowing us to distribute the workload among developers efficiently. Additionally, we had the authority to adjust task priorities based on the project's current needs.
    Communication with the client was streamlined despite the timezone difference of 8-9 hours. We proactively informed them of our progress during regular meetings with TPM and weekly statuses, as well as sought their input via Slack or Jira when handling more complex tasks. This flexible approach resulting from the client’s preferences enabled us to consult in detail, propose solutions, and make decisions along the way.

    The Team’s Perspective

    Our spontaneous feedback and proactive approach yielded remarkable outcomes. The client acknowledged the future challenges yet remained undeterred by them. Firstly, we articulated these obstacles in technical and precise language, and secondly, we presented them in a manner that included plausible solutions.

    Consequently, we provided a diagnostic assessment highlighting the application's weaknesses. We devised a flexible roadmap to overcome the issues, enabling the client to attain a higher-quality project with scalable potential. The client accomplished numerous objectives through this collaboration, some of which may have been previously unknown.
    Paweł Kuligowski, Technical Project Manager at Vazco

    Key values delivered

    Before

    • We provided maintenance, mainly focusing on bug fixes and heavy-load development tasks.
    • Code quality and maintainability could have been perfected to avoid technical debt accumulation and simplify code for an increased Developer Experience.
    • The application could have been more pleasant to work with due to complexities and a high entry-level for newcomers.
    • Frequent bugs and crashes.
    • Although enjoyable from the end user's perspective, the application has suffered severe challenges previously unrecognized by the client.

    After

    • By fostering trust and mutual understanding, we expanded our presence within the project resulting in more complex groundwork, including advisory with the growth roadmap.
    • We successfully managed technical debt and proposed code refactoring, resulting in better maintainability and faster development of new features.
    • We improved Developer Experience and code quality, making the app easier to develop, resulting in significant future time-savings.
    • The bugs or crashes are less frequent, less complex, and take less time to fix, partially thanks to the introduction of automated testing.
    • Our work resulted in a much better technical base for project development, thoroughly preparing it for the future growth phase.

    How did the client perceive our partnership?

    Our feelings about working with Vazco are extremely positive overall. I think what I respect about Vazco is its technical expertise. We came to them with really challenging problems, and they've delivered high-quality solutions in a short amount of time. We will go back to Vazco when we encounter technical challenges too challenging for us.

    Luke Miller

    Founder & CEO of Fiero Code

    What’s next?

    As we highlighted many times, it’s merely the beginning of Fiero Code’s exciting growth journey. With new target groups in mind, we trust our clients to spread further their mission of empowering (not only young) minds and lightening the path towards a brighter future.
    Our efforts have also laid a solid foundation for future implementations, allowing for smoother integration of new features and enhancements. Moreover, with an increased number of users, it would be advisable to further work on the application's scalability.
    Fiero Code, we keep our fingers crossed and hope to see you again!

    Want to prepare your app for the growth phase just like Fiero Code did?