How I Saved a Company’s Salary with a Single Ruby on Rails App
A Developer's Journey from Simple Requirements to a Powerful Solution That Streamlined Operations and Cut Costs
- Jay McBride
- 4 min read
Ten years ago, I stumbled upon my first freelancing opportunity — a chance encounter that would not only change the trajectory of my career but also significantly impact a local business. The company, at a crossroads, faced a tough decision: either hire a full-time salesperson or invest in an application to handle the myriad of tasks associated with their business — tasks that ranged from managing product details and generating price quotes to processing orders and creating product bundles.
This company specialized in iPhone hardware attachments for barcode scanning, a niche market that primarily served larger enterprises where inventory tracking and heavy barcode usage were routine. As someone who was deeply entrenched in the Microsoft ecosystem at the time, working full-time as a .NET developer, I felt a yearning to step outside my comfort zone and experiment with a different tech stack. Ruby on Rails, with its speed and opinionated approach, caught my attention, offering the perfect blend of creativity and efficiency I craved.
From Simple Beginnings
The initial request from the client seemed straightforward: build a small web app to upload and download Excel spreadsheets for managing product prices. It sounded like a simple enough task, and I was eager to get started. The idea was to create something that would allow the customer to update prices as needed and share them with others within their organization.
Within a few days, I had the first version ready. It did exactly what the client had asked for, and I was ready to wrap things up. But as any seasoned freelancer knows, initial requests often serve as the tip of the iceberg. The more I interacted with the client, the more I uncovered their deeper needs and long-term vision for the project.
Expanding the Scope
The project quickly evolved into something far more complex. The client began to express additional requirements:
Customized Pricing: The ability to adjust prices for different customers and resellers.
Product Bundling: A guided system to help users purchase compatible accessories and complete solutions for their devices.
Quotation and Order Management: Features to save configurations as quotes and eventually turn them into online purchase orders.
Shipping Calculations: Integration with FedEx for real-time shipping rates and packaging calculations based on the dimensions and weight of products.
As the scope expanded, so did the complexity of the solution. What started as a simple upload-and-download system transformed into a comprehensive web application that would ultimately streamline the company’s operations. I spent countless nights and weekends refining the app, incorporating new features, and ensuring that every aspect of the user experience was intuitive and reliable.
Creative Solutions for Lasting Impact
One of the most challenging aspects of this project was making sure that the client could maintain the system long after I was gone. I needed to create a solution that was not only powerful but also user-friendly and sustainable. This led me to employ some creative strategies, including using bitwise operators to group products and accessories in a way that allowed the client to easily expand their offerings as new products became available.
Another major addition was an integrated advertising system that allowed the client to run promotional campaigns within the app. This gave them control over what their resellers could see and enabled them to highlight special deals or new products effectively.
In the end, the application became a self-driving portal that replaced the need for a full-time salesperson. Resellers could log in, navigate through the app with ease, and handle everything from price quotes to final orders, all without the need for constant human intervention.
The Results
Fast forward to today, and the application is still running strong, nearly a decade later. The core of the app remains unchanged, a testament to the robust foundation we built together. The client has saved approximately $290,000 CAD — an amount that would have otherwise gone towards hiring a full-time employee to perform the same tasks manually. This figure excludes my initial development fees, which were a small price to pay for the long-term benefits the company has reaped.
Reflections and Lessons Learned
Would I approach the project the same way today? With the rapid advancements in AI, low-code/no-code platforms, and integrations with e-commerce giants like Shopify, it’s tempting to think that a similar solution could be pieced together more quickly and with less custom development. However, the experience and satisfaction I gained from building this app from scratch are immeasurable. It was a labor of love, and I am proud of the work we did.
In retrospect, the journey from simple requirements to a powerful, long-lasting solution was as much about the technical skills I honed as it was about understanding the true needs of my client. This project was a pivotal moment in my career, showing me the profound impact that thoughtful, well-crafted software can have on a business’s operations and bottom line.
Would I use Ruby on Rails again? Absolutely. For that moment in time, it was the right choice — allowing me to deliver a solution that was not only functional but also elegant in its simplicity.