“This just worked a minute ago”: aka Why we built Voyage

Jaden Lemmon

Nov 24, 2020 - 12 min

In 2019, our team was full steam ahead on our flagship product that pioneered our company, Actovos. During the course of the software development cycle, we noticed a bottleneck in our process. As new features were being produced, we had slowdowns during our review cycle within non-technical stakeholders and our QA team.

“This is how it’s always been.”

There was no easy way for a non-technical QA member to review a feature before release. We’ve all been there, and we tried everything to make the process easy:

  • The team could come to an engineer’s desk and check out the new feature. This was terrible for both our QA team and the engineers. The dev would show the team how they were using it, which doesn’t allow the rest of the team to find the quirks.
  • The QA team could pull the code down and spin the product up, but they required assistance from the engineers.
  • An Engineer pushes up the code to our “demo” environment. This could also work, but when a team of engineers are pushing up code several times a day, then the branches overwrite one another, making it impossible for the engineer to review them individually.

All of these “solutions” take up a tremendous amount of time. Our engineers were spending time away from code, and our other team members were at the mercy of the engineers. As COVID raged on, most of these “solutions” became obsolete. Our engineers and non-technicals started conducting zoom calls to share their progress and review; we can’t even count the number of hours wasted!

There has to be a better way!

Here’s the solution we originally settled on: the engineer working on the feature would spin up a separate isolated environment. This environment would include a separate database and other services that were essential to running Actovos. The Engineer would log into our AWS account, create a new micro instance, the database, and the other services needed. They’d create a new DNS record for their branch, and then they would SSH in, pull the code down and get it all running. Many of you are probably cringing at this process but it was the best way to review features and get approval from stakeholders. This took an incredible amount of time away from other team members to spin up these environments and then continuously update them on every commit. We knew we needed to find a better way.

But aren’t there tools for this stuff?

We tried using Netlify and some other static deployment on demand services. This really only solved a small part of the problem as we still had to connect it to an existing backend. We could see the changes the team made on the front-end, but very few updates only affected the front-end. These services just didn't cut it.

These solutions also created a new problem. We now had an incredibly inefficient means of handling feedback. The QA team started managing different GSheets for each branch which was just slightly more efficient than an email chain.

We searched long and hard for solutions, but there just wasn’t anything out there. We realized we’d have to build something ourselves.

We initially wrote an ugly bash script that ran on a server to spin up new environments based on a specific branch. The script would spin up the needed resources and set up a new DNS record to provide us with that true isolated environment. It had its quirks and still required some manual intervention, but at the very least it relieved the engineers of having to do the whole process manually.

This little bash script was the beginning of it all.

We built it so you don’t have to

Fast forward one year, and we have a production-grade enterprise application called Voyage. Voyage creates dynamic on-demand deployments of your entire application for every PR. This alone saved our engineers about 2-3 hours each time they wanted to request a review. Our engineers can push up a PR, share a link, and let non-technicals review at their own pace.

But we didn't stop at a service that just spins up environments; we wanted to save our QA team time and headaches as well.

Voyage caters to both technical and non-technical stakeholders. If you’re a non-technical person, you don’t need a separate Github or Bitbucket login; just click the link and use the built-in review tools to add comments and screenshots. If you’re a technical person, you don't need to worry about copy/pasting an Excel file full of issues into Jira; comments from Voyage integrate with both Github and Jira.

Some features our users really like:

  • Setup is incredibly fast––a single config file and you’re ready to go. Plus, we’ve created a few presets. If you’ve built a Create React App (we also support Laravel, Angular JS, Gatsby JS, VueJS, and others are in the works), no config file needed!
  • “There is very little management needed!” - Voyage Beta User - Voyage spins up and tears down deployments automagically. No need for you to waste time worrying about infrastructure costs.
  • “The built-in feedback tools are Chef’s Kiss” - Voyage Beta User - We know there are a million tools out there, so we didn't want to add more than what you need. The feedback tools integrate with existing software like Jira and Github.
  • The best feature of all? The amount of time we’ve saved our engineers, QA team, and clients. One of our clients said, “This is how I expect the process to work”.

A motto of ours has always been “build cool shit,” and we believe Voyage will help development teams around the world do the same.

Voyage is currently in a limited private beta. Click here and register to request an invite code (while they last!), or feel free to email us if you have questions.

© Actovos Consulting Group 2021