A group of people learning how to sew

Custom Magento extension development for an American agency

Staylime engaged into custom extension development for Magento 2, providing a set of easy-to-use tools for creating and managing educational classes and events — all that to accelerate the class management process and contribute to a fast and enjoyable learning experience for end-users.

  • Domain Design
  • Market United States
  • Duration 8.5 months
  • Services Extension development,
    design
  • Technologies Magento 2 Open Source
  • Team Project Manager, Client Relations Manager, Business Analyst, Solution Architect, UX Specialist, Frontend Developer, Backend Developer

Project background

Todd Lininger Design LLC, a web and graphic design agency, has been in business for almost 20 years. Todd Lininger successfully serves a versatile clientele ranging from small customers to corporations both in the US and globally.

A few years back the agency got a chance to work with Meissner Sewing & Vacuum Centers, a regional leader in sewing machine production based in Northern California.

Women learning how to sew

As part of the project, the agency was tasked with custom Magento extension development to introduce class management functionality to the existing store.

Represented by a couple web pages with classes and corresponding sessions, the first version of the solution provided for nothing but the ability to sign in to a session and view the registration list.

Aiming to introduce a custom Magento extension, Lininger also conceived the idea of turning the solution into a commercial product to be distributed on a subscription basis among other customers.

The custom Magento extension was to allow admins to create and manage educational courses on the website easily, whilst users were supposed to have an ability to sign up for classes and educational events of their choice and keep up with their schedules.

When the final project vision was worked out, the customer turned to an offshore software development copmany for professional services. Unfortunately, the team failed to meet Todd’s expectations: the architecture of the delivered custom Magento extension was poorly designed, it lacked the required scalability and featured a range of defects, making the quality unacceptable for commercial use.

Jan Guardian
Jan Guardian, Chief Business Development Officer @ Staylime
Disappointed with the outcome, Todd Lininger resumed his search for a Magento service provider. With the bitter experience of the previous engagement, the customer was looking for a professional full-service company that would ensure an end-to-end delivery of a commercial product in accordance with the official guidelines and best practices.
Events calendar interface

The major goal was to develop a Magento extension that would be reliable, efficient and highly scalable from both architectural and functional perspectives. The new architecture was to ensure proper performance under heavy load and be flexible enough to support further modification and adaptation to upcoming versions of Magento.

As we discussed potential collaboration opportunities long before this project, Todd Lininger approached Staylime again with a request for proposal for custom Magento extension redevelopment.

Prior to entrusting the project to a new vendor, Todd wanted to make sure he won’t burn his fingers for the second time in a row. Thus, he asked us to assess the existing solution’s architecture and present our vision on how to breathe new life into it.

Andrew Velikij
Andrew Velikiy, Project Manager @ Staylime
Given our vast experience with Magento products and services, we proposed the most optimal approach, which Lininger fully approved. And that’s where our long-term partnership began.

Approach

To ensure efficient and flexible process control and overall project transparency for both our customer and the team, we chose the iterative development approach for this project and split the process into short 2-week iterations.

Git flow scheme

The previous vendor hasn’t used any tools for change management, so, prior to starting any development activities, we employed a version control system, which enabled all members to easily monitor and track the module’s progress throughout the delivery lifecycle.

Andrew Velikij
Andrew Velikiy, Project Manager @ Staylime
Product features for each release were prioritized and included in the backlog, so that the most critical functionality was implemented first. Such an approach provided for a continuous feedback loop, making it possible for the customer to introduce necessary changes in the course of the project.

Aiming to automate the QA part of the process and reduce the manual testing and potential errors caused by human factor, we prepared a set of unit tests that were conducted prior to each release.

This allowed us to verify that all the delivered features function properly, ensuring the best possible quality of the final solution and also optimizing development efforts. The list of features to be covered by the unit tests was approved by the customer on every release. During the process, we continuously updated the initial tests so to support new features requested by the customer.

Challenges

Establishing a robust project management and communication framework is one of the key tasks for us to tackle in order to ensure successful project delivery.

Unfortunately, there is always room for challenges and bottlenecks. On this project, the customer had a clear vision of the product and its functionality. However, lacking the technical background in this particular field, he strongly underestimated the complexity of some of the business-critical features.

In view of this, despite our recommendations, Todd sometimes insisted on going for simple workarounds to deliver sophisticated product features that, in fact, required much more effort to be implemented properly.

Two men talking over the internet
Our team took the time to convince the customer that a rush approach like that is a taboo, especially when it comes to commercial software development. Of course, a workaround or two could have helped achieve results fast.
But when building a solution that should be able to evolve as the business grows in the long run, these kind of means should be out of the question, as they would inevitably lead to:
Concerned man with bills on the table talking over the phone
  1. Scalability and extensibility issues
  2. Increase in TCO
  3. Ever-growing technical debt
  4. Integrity violation both in terms of extension functionality and its data structure
  5. Decrease in commercial potential
Jan Guardian
Jan Guardian, Chief Business Development Officer @ Staylime
Thanks to our strong expertise and hands-on experience with custom Magento extension development, we managed to explain the rationale behind the approach we proposed to the customer and make wise decisions during feature implementation. This approach helped us to ensure product scalability and significantly reduce the total cost of ownership.

Architecture

According to the plan, the new architecture was to inherit the key functional capabilities of the legacy solution, yet be based on the latest technology stack.

The key objective was to come up with a robust technical solution that would meet the performance and scalability requirements, also allowing for seamless implementation of new features. Compatibility considerations were on the table too: the new architecture was also supposed to be able to inherit the data of the Magento 1 version.

Eugene Selenkov
Eugeny Selenkov, Chief Product Officer @ Staylime
Thus, prior to hopping on development, we spent one month conducting a thorough audit of the existing product, its architecture and functionality specifics. Having defined the main advantages and pitfalls of the legacy architecture, we designed a highly scalable custom Magento extension to allow Todd Lininger not only release a newly made product to the market, but also ensure that it was flexible enough to support further functionality growth.

Custom Magento extension functionality

With the new architecture on our hands, we proceeded to extension development.

We started out with the delivery of a minimum viable product to help the customer test product feasibility and make data-driven decisions during future development iterations.

Relaxed man in front of his laptop

All in all, it took us 4 months to complete the MVP and 11 months to launch version 1.0.

The solution’s UI was redesigned, yet based on that of the existing module to ensure inheritance. Working on the MVP, we had been altering it in accordance with new feature requests coming from the customer.

Functionality-wise, the product’s full version is significantly different from the initial custom Magento extension, boasting a whole range of advanced features that now provide for the full automation of the class management process.

Some of the functionality highlights include:

  • List of classes & locations With the help of the custom Magento extension, users can view the list of available classes and proposed locations and keep track of the remaining seats for each class.
  • Class registration Learners are able to easily sign in to a class or an event they are interested from their personal account on the website.
  • Assigned instructors Users can learn who is assigned as an instructor for each class they plan to attend.
  • Schedule When users sign up for a class, a corresponding event with relevant information such as time, location, and other is added to their schedule.
  • Calendar All the classes a user signs up for will be displayed in a personal calendar so that to keep him or her informed on the upcoming events.
  • Wait lists In case a class is unavailable or fully booked, users can add themselves to a wait list and get notified when an opportunity to attend the class arises.
  • Class history A list of previous classes and events can be viewed on a separate page.
  • Email notifications Users get instant notifications about a successful class registration, upcoming classes, schedule changes, and other reminders to always keep up with the latest news.
  • Surveys To allow customers collecting learners’ feedback and discover areasfor improvement, users are asked to complete a short survey form upon attending each class.
Andrew Velikij
Andrew Velikiy, Project Manager @ Staylime
Thus, stores can now take advantage of the custom Magento extension’s functionality when in need of creating classes for learners, whilst their customers can get access to information regarding their courses.

Results & partnership

We have been challenged with an environment of frequently changing product requirements while working on this project. However, Staylime managed to establish a robust delivery framework where product features were logically prioritized and gradually implemented with a clean and well-thought-through code.

Man trying to put a thread through a needle

Besides, our team came across an interesting challenge during custom Magento extension development: that is to find a way of transferring large sets of highly interdependent data of Class Manager when migrating from Magento 1 to Magento 2.

To ensure data integrity and completeness, we developed a custom script that enables seamless migration of data from the existing version of the extension to its Magento 2 counterpart. The script will definitely be of help on further migration projects for Todd Lininger’s customers that we are planning to commence shortly.

Highly functional and scalable, the delivered extension has exceeded customer’s expectations.

It took nothing for the custom Magento extension to prove its promising potential: Todd Lininger is already reaping the commercial benefits from launching the solution among the existing clientele.

The final product reflected initial specifications because of Staylime’s detailed reporting and frequent communication.

Their transparency also extended to hours worked and estimate accuracy. Staylime displayed excellent professionalism and a strong desire to create an optimized product.

Todd Lininger
Todd Lininger Owner, Todd Lininger Design
Four shops connected together
Four Todd’s customers — large well-established ecommerce stores — confirm the extension’s positive impact on the bottom line.

As of now, Todd Lininger is almost ready for the commercial launch of the custom Magento extension, making final amendments to subscription tiers.

With ambitious plans for further growth, the customer is actively elaborating new functionality enhancements and integrations, whilst we continue to provide support, releasing updates regularly.

Valera Kelmuts
Valera Kelmuts, Chief Executive Officer @ Staylime
Satisfied with development results, Todd Lininger decided to keep on growing our productive partnership and enthusiastically engaged us into collaboration with some of his current customers. Being a full-cycle Magento development company, Staylime became a perfect candidate to help them perform Magento migration along with Class Manager extension installation, third-party extension setup, theme design, and frontend development.