Close

Sign up to Gadget

Unlimited environments: Work better together with a full-stack environment for every feature

-

About

Spin up new environments in a click to get the productivity of local development hosted in the cloud.

Problem

Solution

Result

Unlimited environments: Work better together with a full-stack environment for every feature

Emma Hyde
March 11, 2024

TL;DR: All Gadget projects now come with unlimited, free, full-stack environments.

To kick off launch week, we’re excited to introduce unlimited environments! There’s a lot more coming this week, so keep your eyes peeled as we roll out more announcements.

Developers can now instantly create unlimited environments for every one of their Gadget projects. Spin up as many environments as you need, like one for each developer, one for each branch, an extra for staging, or anything in between.

Every environment in Gadget gives you a copy of your app’s entire stack. In just a click, you get a Postgres database, serverless Node backend, React frontend (powered by Vite), as well as all of the additional libraries and tooling you need to build, deploy, and scale full-stack applications, incredibly quickly. The underlying infrastructure powering your code is always identical from development to production, which means what you see is what you get. No fighting with Node versions, no broken Docker containers — it’s the productivity of local development hosted in the cloud.

Work better together

When developing complex applications, it’s essential to have the ability to safely build new features, experiment, and fix bugs without risking the integrity of your project. We’re all used to having our own computer for local development, and with unlimited environments, Gadget lets teams work this same way. Each developer can spin up a safe, isolated environment to build without affecting production. 

Each environment uses a different, lightweight database, runs its own version of the code, and has its own independent URL, which means developers can work completely independently on separate environments. Model schema, model data, your code, your plugin configuration, and your apps settings are all independently adjusted within each environment, so you can test out changes in complete isolation. You’ll even be able to see who is working in which environment, so nothing affects production or your other team members until you’re ready.

The new environments give you a sandbox for your code where you can safely build out features. But unlike local development, you can instantly create more development environments.

Because each developer gets their own environment, they can each have different environment configurations. If you want to spin up an example of a bug for the team to troubleshoot, it takes just one click to copy your whole app’s state and run a new version at a new URL. You can share a link to your environment with a teammate to explain an idea, help debug, or get feedback. You can all work completely independently, but quickly review each other's work without any risk. 

Gadget environments are also shareable externally. For Shopify agencies and freelancers, if you work with clients and find yourself adding new features, environments give you an easy way to get feedback quickly, without having to deploy to production. Build your new feature and send your client a link to that specific environment. By creating an immediate feedback loop, you can get insight and opinions from your client early on to make sure you’re aligned on the vision and avoid scope creep.

A playground of your own

Before today, Gadget apps came with one production and one development environment. This made working together difficult as it was easy to step on each others’ toes. We know this is frustrating, and so we’re really happy to ship environments as a real fix to this problem: everyone gets their own sandbox to play in! 

Modern software development requires juggling many competing concerns – different features, different branches, different experiments, different infrastructure upgrades, and on and on. Without Gadget, doing this locally gets frustrating. Your database state from one branch can leak into another. Your attempt at upgrading Node from last night can ruin your whole day. You might forget to do that one config change in prod before deploying, and suddenly your app breaks. These discrepancies in tooling between your local environment and the cloud are a waste of everyone’s time and energy, and this is exactly the kind of complexity Gadget exists to eliminate. 

Think of environments as an easy way to copy-paste your whole stack – one click summons everything you need again and again.

A best-in-class production stack

Although your app may look the same from development to production, Gadget makes sure to optimize your production environment for speed. On deploy, Gadget builds minified assets optimized for production and serves them through our high-performance CDN. This ensures speed and generates strong Web Vitals scores and great end-user experience. As always, you also get one-click deploys for easy updates and bug fixes. 

In the development environment, on the other hand, Gadget gives you un-minified code for easy debugging and error overlays. Hot module reloading and pre-bundling help to maintain fast development when adding dependencies and expanding your codebase.

Keep in mind, this is just the first launch of the week. We’ll have more features coming soon that make environments, and everything else you get with Gadget, even more powerful.

Environments are available on every plan, so you can start a new project for free to spin your new environments. If you have questions, you can join our Discord community to connect with other Shopify developers and the Gadget team.

Interested in learning more about Gadget?

Join leading agencies making the switch to Gadget and experience the difference a full-stack platform can make.
Keep reading to learn about how it's built

Under the hood

We're on Discord, drop in and say hi!
Join Discord
Bouncing Arrow