Save time and money with Rocketmakers tech tools

Rob Butler
Software Engineer
24th Jul 2023
5 min read

Innovation is at the core of everything we do at Rocketmakers.  It’s one of the main reasons the crew come to work energised, excited and typically have very long tenures.  Creating new solutions for clients is exciting; it's what we want to do and how we want to spend our time.  Over the last 15 years we have created hundreds of new pieces of software and digital transformations.  Simply put, innovation is our passion.

It’s therefore very important to us that we initialise all projects quickly, so that we can start implementing the features which make the finished product(s) unique.  When software developers get the green light to start a new piece of work, there’s a lot to set up. No matter what the project is, this initial phase is largely made up of the same steps for almost all projects.  

Getting projects off the ground quickly is mutually beneficial:

  • Rocketmakers want to use as little time on setup tasks as possible, so we can spend as much time on the interesting stuff! Most of our projects share the same basic footprint with a frontend, backend and needing somewhere to deploy.
  • Our partners and clients benefit from us spending the minimum amount of time on set up as possible, saving time, money and leaving us more time to innovate!

If we are working on an MVP project then this is particularly important because we want to get the concept and main features out into the world to prove the product has a market. Minimising how long it takes to get development going increases how much time we can spend getting the product right with all of the right features in place. 

So, in typical Rocketmakers style we decided to create our own technological solutions to fast-track these more mundane tasks and minimise the amount of time spent on them. These are available to all our clients as standard in any new project we work on.

Orbit

Orbit is an essential tool in our arsenal. A few years ago we started packaging up some key building blocks which are used in most of our projects. This meant that we could update these building blocks in one place, releasing a new version and then only needing to update the version in our projects.  A good way to think about it is as Lego blocks.  Rather than have to construct the bricks each time, we have pre made several blocks that all fit together seamlessly in almost no time at all.

Three of the core blocks are:

Authentication

99.9% of our projects require users to login to an app or a website typically user username and password. Orbit-Auth handles a variety of common functionality such as user creation, user verification, permissions, forgot password and change password all of which a standard project will need. It has multiple configurations for example on user creation; using self registration or invite only allowing us to remove what isn’t needed and make simple tweaks to fit the project. Instead of rewriting the code for each project we packaged this up with multiple options of flow. This helps us reduce the amount of authentication bugs with reusable tried and tested functions.

Notifications 

Most projects we work on need a function to send emails, sms or push notifications. We again packaged this up to reduce rewriting this every time. Need to send an email when someone forgets their password or for email verification? Orbit-Notify makes it quick and easy for us to style how the email looks and send it as needed. Need two factor authentication using sms messages? Again this is as simple as setting the content of the message and who it goes to. Maybe your app needs a push notification when a user’s profile is viewed, or their subscription is about to expire.

Storage

Most of our projects want storage of profile pictures, branding images or allowing users to upload their own content.  It made sense that we packaged this up to maintain the content in one place. This works with our preferred places to store content and is quick and easy to expand into less common places. It handles the uploading and downloading of content as the project needs it, and who owns the content. This allows the project to focus on who can access the content. Are all of their friends allowed to view, can only some friends, can family members remove the content? These questions are too project specific for Orbit-Storage to answer but allows the developers to focus on that instead of managing where the content lives.

Boilerplate

Beyond Orbit, we leverage another powerful tool called Boilerplate. While Orbit focuses on shared building blocks, Boilerplate serves as a comprehensive starting point for our projects. Boilerplate helps us create the building blocks of a project quickly. Most of our projects have similar components so those building blocks can be predefined and reused. We can then pick and choose which blocks need to be copied into a new project. Moreover, we regularly update the Boilerplate to ensure that each new project starts with the latest foundation, incorporating the most recent best practices and improvements.

The advantages of utilising Boilerplate include:

Familiarity

The project folder structure remains consistent across all projects. This uniformity allows developers to seamlessly transition between projects and facilitates support tasks for ongoing projects. Developers can quickly orient themselves within a new project since they are already familiar with the standardised structure.

Efficient onboarding

With Boilerplate, developers can hit the ground running. By providing a preconfigured and standardised setup, local development environments work out of the box, eliminating the need for developers to spend excessive time configuring their development environment. This streamlines the onboarding process and accelerates the overall development timeline.

In summary

By minimising the time spent on project initialisation, we can maximise the time dedicated to innovating technological solutions that are rich in features. Ultimately, this approach empowers us to focus on what we enjoy most—crafting innovative solutions that push the boundaries of technology while simultaneously saving our clients significant amounts of time and money.