When Every Minute Counts, Goodshuffle Builds their Business on Heroku

Heroku tools and services make the job easier, then get out of the way

“Sometimes, a sign of the best technology is that you don't feel it, or that you're not aware of it.” According to Andrew Garcia, one of the co-founders of Goodshuffle, running apps on Heroku has been an effortless experience that doesn’t get in the way of developing their product. He says, “I'm aware that Heroku is supporting me, but I don't feel like it's something I have to feed.” The platform’s ease of use has enabled the company to spend as little time as possible on deploying and managing their apps. As a result, they have a lot more time to focus on getting apps to market quickly and building their business.

Launched in 2013, Goodshuffle began as a peer-to-peer rental platform, but quickly pivoted into a full-scale event and party supply marketplace that connects customers to event rental companies of all types and sizes. They then launched Goodshuffle Pro, which is all-in-one business software for event companies with features such as inventory tracking, sales automation, interactive quotes, invoicing, and more. They plan to merge the two and solve marketing, sales, and inventory management for event companies, while making the experience for renters a breeze.

Goodshuffle running on a number of devices, covering sales, payments, inventory and dashboards

From side project to successful business

Goodshuffle started as a side project for co-founders Andrew Garcia and Erik Dreyer, working on the business on nights and weekends. As a full-stack engineer, Andrew had plenty of experience managing Apache proxies and dealing with the associated complexity, like configuring SSL and static/dynamic resources, so he knew that DevOps could become a full-time job. He and Erik wanted to use their time wisely and avoid getting sidetracked by infrastructure management. To get their business to market quickly, they needed to focus as much time as possible on product design, event industry market fit, and proper implementation.

Goodshuffle saves time on Heroku

Recommended by a coworker, the Goodshuffle team chose to build their business on Heroku from day one. Heroku provided a fully managed, plug n’ play platform that enabled them to quickly build an MVP and get it into the hands of users. As Java developers, Goodshuffle was one of the early adopters of Heroku’s Java support for Gradle and Grails, and Andrew worked with Heroku’s Java language owner to help refine these buildpacks.

The team also appreciated how easy it was to explore Heroku’s ecosystem of cloud providers and extend their apps with additional resources, such as data stores and various app management services. Whenever they encountered a pain point in development, they usually found an add-on in the Elements Marketplace to help solve it. In just a couple of clicks, they could try out different Heroku Add-ons, determine which tools and services worked best for their apps, and move on.

From the beginning, Heroku has helped us avoid wasting time on managing infrastructure. Instead, we use that time saved on developing our product. Andrew Garcia, Co-Founder, Goodshuffle

Goodshuffle showing goal tracking, revenue tracking and sales pipeline on an iPad and iPhone

Simple deployment, support for complexity

One of the biggest benefits to using Heroku has been the ease of deployment. Goodshuffle deploys several times a day using manual processes. It just takes a simple git push heroku master command to deploy code and the Heroku platform manages the build and deployment processes as well as the runtime environment. In addition, the platform’s stability has enabled Goodshuffle to boast 99.99% uptime to customers—a huge selling point to event businesses with no time to spare.

At times, the Goodshuffle team needed help and Heroku Support was there for them without the frustrating delays that they often experienced with other providers. When they ran into issues, they were able to connect with a support engineer quickly and get the help they needed to keep their apps running at peak performance. In consultation with Heroku’s Java language owner, the team is currently focused on intelligent capacity planning to help improve response times and decrease delays.

One of the biggest reasons that we stay on Heroku is the type of guardian angel support that the Heroku team provides. I don’t ever feel like my time is being wasted getting help, and that’s extremely important to me. Andrew Garcia, Co-Founder, Goodshuffle

Ultimately, the tools and services provided by the Heroku platform have allowed Goodshuffle to deploy apps quickly, manage them easily, and focus on the business of building their business. Whether they were deploying code or integrating add-ons, Heroku’s ease of use helped Goodshuffle build a better product, faster. For this reason, Heroku has become the hub of the Goodshuffle architecture and the home of any new features and products going forward.

Code[ish] podcast logo of microphone

Listen to the Code[ish] podcast “Running Grails in Production,” in which Andrew Garcia talks about the advantages of building on top of Grails, JDK8, and a trustworthy tech stack.

Inside Goodshuffle on Heroku

Currently, Goodshuffle runs seven apps on Heroku, including their marketplace, pro solution, a test environment, and a blog running on Ghost. They recently stood up another instance to handle a database that was needed to manage and analyze customer data. Their setup also connects to Amazon S3 for cloud storage and CloudFront as their CDN. They use Heroku Postgres as their relational data store, and Heroku Redis in combination with Redisson for distributed logging and maps, as well as a number of Heroku Add-ons.