About the Client

WyGO believes in preserving local commerce and culture by empowering independent businesses to thrive and compete. We do so by providing small- to mid-sized retailers with an enterprise-level online shopping system that offers easy integration with inventory systems and a delivery service that deploys electric vehicles driven by local people who earn a living wage. For retailers, WyGO represents a path for growth and maintaining a strong foothold in the local market. For consumers, it’s local, green, fast and fun.

The situation

The project's goal was to streamline their delivery service using electric vehicles, enabling drivers to have an application that allows them to track pending orders. Simultaneously, they wanted to offer their customers the opportunity to sell their products on a customizable e-commerce application with direct integration into their delivery service. They needed a team to develop their solution and give it the structure to make it successful, and for that, they chose Devlights.

Our solution

We started working with the client in 2019. During the project, several changes emerged, and some introduced features were temporarily set aside. An individual application for Deli was also shelved, and a new API specifically for managing delivery logistics was introduced. Additionally, an Agent was incorporated to allow configuration for reading the client's current database, extracting necessary data, and synchronizing it with our data to save the client the double effort of maintaining price synchronization. An external payment processing service was also integrated. For this task, a new developer was temporarily brought on board, and a graphic designer was added to assist with the user interface. Apart from that, the team consists of a full-stack developer and the client themselves, who played a significant role in developing the stored procedures. For the backend, we used .NET in conjunction with SQL Server. A substantial portion of the business logic resides within Stored Procedures. On the frontend, we used TypeScript along with React and the Redux library. Modern techniques such as hooks and CSS modules were also employed. We encountered challenges in getting the payment service to function correctly, and we had numerous discussions with the service providers until we successfully resolved the issues. Another challenge we faced is that having a lot of logic within stored procedures can make problems difficult to diagnose. To address this, we implemented a logging system with numerous diagnostic messages that can be deactivated when they are not needed. We also faced the challenge of making many of the site's visual aspects easily customizable without resorting to the use of the style property. To address this, we devised a mechanism in which all adjustable values are defined as CSS variables. These values can be loaded into a database, and a function was implemented to read these values and override the defined variables as needed. Finally, the most significant issue was that the site was originally developed using JavaScript, and many changes in function definitions resulted in errors that weren't detected until execution. This was largely resolved through the migration of all the code to TypeScript, which quickly detects these errors.


tech stack
tech stack
tech stack