“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.
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
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.
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.
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.