An unexpected delay on the morning commute can be irritating, but for the most part it is forgotten shortly after. For the driver of a truck hauling fresh asphalt, such a hold-up can mean the difference between delivering a useful road surface or a product that’s too thick to lay.
Keeping truckers like that moving is the core mission of Ruckit, and the company is fulfilling that mission by bringing digital transformation to construction logistics, an industry that otherwise relies heavily on paper job tickets. Overseeing tens of thousands of truck movements each day, Ruckit’s software products — Ticket Pro and the Ruckit Platform — take full advantage of Heroku’s managed platform. This frees the Ruckit’s lean development team to focus on bringing their industry changing software to market without losing headcount to DevOps duties.
Heroku enables Ruckit’s rapid development
It’s not an exaggeration to describe Ruckit’s proposition as revolutionary. That’s why they’ve created two separate products that each serve companies at different stages of their digital journey. It’s also why Heroku has been so essential to Ruckit’s own startup journey.
When addressing a conservative industry, such as construction, there is little room for second chances. This meant that Ruckit’s founding team had to make a significant decision early on. Wherever possible, they would use proven technology and leverage managed services, enabling their engineers to focus on serving customers needs rather than managing infrastructure or reinventing the wheel. For the Ruckit team, Heroku was the only viable application platform on which to build their business.
Digital transformation for truckers
For those that must still rely on paper tickets, Ruckit offers Ticket Pro. Rather than do away with paper tickets, Ticket Pro digitizes the process. For a typical job, a truck driver is given a ticket that tells them where to go, what to collect, and where to deliver it. Each ticket comes with three copies, one for the final site manager, one for the truck driver, and one for the trucking company’s back office.
Rather than ask the driver to manage an ever growing stash of tickets, Ticket Pro has the driver take a photograph of the ticket using a dedicated mobile app. The app then uploads the ticket image to AWS Cloud Object Storage. From there, a central Ticket Pro Ruby on Rails app hosted on Heroku sends the image for cataloging and cleanup to the Cloudinary media asset management API. The Rails app then sends the image for data extraction, using a third-party OCR service. In the trucking company’s back-office, the accounts team use Ticket Pro’s Angular web front-end to verify the tickets, ready for automated invoice generation by the Rails app.
Ticket Pro handles more than 10,000 job tickets each day. As a digital transformation tool, it has saved drivers from the hassle of managing paper tickets and trucking companies from errors and fraud. However, the long-term goal for the Ruckit team is to do away entirely with paper tickets. And to meet that goal they’ve built the Ruckit Platform.
We don't want to be in the middle of DevOps. We make money by building great application functionality and letting Heroku take care of the rest. Mike Bordelon, CTO & EVP of Product, Ruckit
Building a platform for the builders
Think back to that truck driver stuck in traffic with a load of asphalt beginning to thicken. In a world of paper tickets, the driver could perhaps call ahead (if they had the site manager’s cell phone number). With the Ruckit Platform, the site manager would know about the delay even before the truck driver was aware of it.
In the cab of each truck is a mobile device running the Ruckit app. That app stays in constant communication with the Ruckit API, delivered by a Python and Django app running on Heroku. For the driver, the experience is similar to what they might have as an Uber or Lyft driver. After clocking in, the Ruckit app alerts the driver when they have a new job, tells them what to collect, and where to take it. When they’re done, they can mark the job complete.
However, the Ruckit Platform goes a step further. The Ruckit app in the truck reports its location every few seconds, giving transport and site managers a real-time view of the progress of each load from supplier to construction site. And in many cases, the driver doesn’t even need to mark a job as started or complete. Instead, small C# apps running on the weighing systems at supplier sites report back to the Ruckit API on Heroku when a truck is loaded with material. Similarly, construction site managers can set up geofences around unloading locations, even if that’s a mobile road laying machine, using low-cost Android devices. These geofence devices report their location back to the Ruckit API, meaning that when a truck’s location matches that of the geofence, the platform can automatically mark the job as delivered.
Data scaling and management is easier with Heroku
Handling the Ruckit Platform's data presents several challenges. For example, the platform has to process those location pings in near real time from thousands of trucks across the United States. To manage the data ingest, the Ruckit team turned to Heroku Data for Redis and the Redis Queue Python library. Each time a location ping enters the queue in Heroku Data for Redis, a background job triggers to process the update. Running Heroku Data for Redis, rather than setting up their own Redis instance, means the Ruckit team can easily scale up to accept huge volumes of inbound data without having to consider the operational overhead.
On the other end of the data spectrum is the Ruckit Platform's operational database running in Heroku Postgres. As the home of the entire platform's data, the Heroku Postgres database both runs the platform and is also essential for giving customers an ongoing view of their data. Rather than put the strain on the operational instance of the database, the Ruckit team has set up follower databases specifically for reporting.
Heroku simplifies Sarbanes Oxley compliance for Ruckit
Managing invoicing for large corporations in the U.S. brings with it requirements under the Sarbanes Oxley act. A federal law, the act sets accounting and data security standards for public companies.
If the Ruckit team had built their own infrastructure, they would then have to audit it in order to prove to their customers that it complied with Sarbanes Oxley requirements. Having built their products on Heroku, the Ruckit team can instead focus on ensuring that their software complies with the act’s requirements knowing that the underlying Heroku platform is already compliant. In fact, the Ruckit team provides their customers with Heroku’s standard Sarbanes Oxley compliance documentation.
Our customers don’t talk about excavators or jackhammers. They just assume their tools work, so they can focus on their jobs. That’s how I feel about Heroku. It’s a big badass excavator that’s moving a lot of dirt for us and we don’t have to think about it. Michael Bordelon, CTO & EVP of Product, Ruckit
Building the future of the construction industry on Heroku
The future for Ruckit lies in building an ever more complete platform on top of Heroku. Their next priority is to offer financing and payments to help trucking companies get paid faster. Everything that they’ve achieved to date, and their plans for the future, are possible only because Heroku lets the Ruckit team focus entirely on delivering their software rather than also having to budget for DevOps resources.
Ruckit’s customers are building the future of the United States, whether in the form of new bridges, upgraded sewer systems, new lanes on highways, and all the other infrastructure that makes modern life possible. In a similar way, Heroku provides Ruckit with the platform that makes modern development possible and allows them to focus on making the construction industry more efficient.
Read more about Ruckit's story in the blog post: Impending Vroom — How Ruckit Will Modernize Construction Right in the Nick of Time.
Inside Ruckit on Heroku
Ruckit runs two software products on Heroku. Ticket Pro is a Ruby on Rails application, backed by Heroku Postgres and the Memcachier add-on, with native mobile app and Angular web front ends. The Ruckit Platform is a Python and Django logistics management application handles rapid data ingest through Heroku Data for Redis and uses Heroku Postgres as its operational database. For both applications, the Ruckit team use the Rollbar add-on for monitoring and analytics.