Connected, Sharable Bidding & Estimating Platform
Bringing a complex bidding and estimating tool from project purgatory into production.
Problem
Celerity Integrated Services is a wireless and fiber-optic maintenance and installation company based in Quakertown, PA, with about 30 employees. For many years, they created all of their bids using a complex Excel spreadsheet, but they started running into problems. Corrupted files, differing versions across different individuals working on a bid, and a laborious and manual process to goal-seek in a bid were all contributing factors to creating a custom bidding and estimating platform. By the time I joined the project, version 1.0 was nearing completion, but had stalled for several months during the pandemic.
Solution
The primary issue, before addressing the technical challenge of implementing the last few features, was getting the project itself back on track. By meeting with the client to quickly onboard and get organized, I was able to begin making contributions immediately. In addition to creating progress toward a release, spending additional time with the client to better understand their needs - and how they weren’t being met - developed a high level of trust with the client. It also provided a path out of project purgatory, by adjusting our methods to address their concerns.
In addition to the project management issues to resolve, there were the features to implement. The application is a series of nested forms, representing the different stages of a project and the different types of costs to manage. These feed a complex calculation service, making for a highly-dynamic bidding platform that displays updated values with every keystroke. Keeping this performant was critical, as well as understanding and implementing custom processes defined by the client.
Of particular interest from an algorithmic and data structures standpoint was a feature with which a user can adjust the gross profit margin for every cost across the entire bid with a single button. This remains one of my most challenging features to develop, since it required a deep understanding of the inner workings of the application, JavaScript (in particular working with floating-point numbers), and the data structures used to represent the bidding process, all while being performance-conscious.
Results
Not only did we launch version 1.0, but I have received excellent feedback from the client with regards to their vastly improved efficiency. I have also been requested by name as the sole front-end developer for the past 3-4 years to implement additional features.