Let’s introduce Gouache

Enhance your design to production workflow with Gouache.

Julien Rioux
Gouache app
10 min readApr 5, 2022

--

If you’re a developer, a designer, and/or a manager will love Gouache. Built to reduce the frictions within the different units of your team, our Design Data Platform will help you to collaborate, prototyping & uniformize your apps with fun.

Here are a few features that will make fall in love with Gouache:

  • Bypasses the regular development cycle: With Gouache, anybody on your team will be able to test fixes, and prototype visual changes on your app, without having to go through the regular development cycle of your organization.
  • Hot reload in production apps: Whenever you’ll be making changes on your platform, you’ll be able to see it live-updating automatically, safely, and in any environment. Once ready, you’ll be able to safely push the changes to all of your users.
  • Single source of truth: By storing your different design tokens and building blocks, Gouache will become your team’s single source of truth.
  • Structuring your data efficiently: To help you store all your design data on Gouache, we’ve developed an intuitive file storage system that let you shape your data exactly how it makes the most sense for you and your team.
  • Documentation: With Gouache, you can add documentation almost anywhere you want. This will help your team to be on the same page along the journey.
  • Free to use: We’re currently in public beta; all our current features are free to use and will remain free to use.

Now that you know what Gouache can you do for you, here is a tutorial that will explain to you the basics features of Gouache.

Tutorial

In this tutorial, we will show you how to use the Gouache platform by creating styles for a primary and a secondary button.

Let’s create an account

Go to https://gouache.app and click on the Authenticate button. From there, enter your email address and click on the Authenticate button.

You’ll then be asked to verify your account with an OTP (One Time Password). Open the email we’ve sent to you and click on the Authenticate button. This will redirect back you to the Gouache app .

Now, we’ll ask you to complete your signup by adding your username. Once finished, you’ll see your empty projects page:

Empty projects page | https://gouache.app

Creating your first project

Now, we’re going to create your first project. To do so, click on the + Create project button. Then, enter the name of your project and click on Create a project .

Since it’s your first project, we’ll use the Recommended template. The recommended template is using Gouache’s best practices when it comes to project structuring. The Recommended template also generates Read me files for every generated folder that gives you more information about the structure and how to use the app.

Create a new project | https://gouache.app

Gouache is using the file system data structure, uses to control how data is stored and retrieved. Think of it as folders and files inside your computer OS.

Your Gouache project should now have 3 folders inside it ( design token , reusable blocks , and themes .

My first project page | https://gouache.app

Design tokens

Now, let’s navigate inside the design tokens folder. In this folder, we recommend you store all the design tokens that construct your Design System or App.

For this tutorial, we’re going to create a few colors that we’ll be reusing inside our app. To create a design tokens folder, we need to click on the Add button, located on the top right side of the platform. Click on Design tokens and enter the name of your design tokens folder.

Create a design tokens folder | https://gouache.app

Let’s add a few colors tokens here. To do so, click on the + Design token button. Add a token name and a value and then click on Add .

We’re going to add 3 color tokens here:

white 👉 #ffffff

black 👉 #111111

blue 👉 #1b00ff

Your colors design tokens file should now look like this:

Colors design tokens folder | https://gouache.app

If we take a deeper look, we can see that Gouache has automatically generated a token ID (ex: $designTokens.colors.black ).

These tokens are unique and represent where they’re being stored inside the project:

Anatomy of a Design tokens ID | https://gouache.app

Now that we have created a few design tokens, let’s create a reusable block!

Reusable block

Now, we’re going to create our first reusable block. Reusable blocks are Styles Sheets that will be reused inside more specific UI components.

Let’s navigate into our reusable blocks folder, click on the top rightAdd button, and select Style Sheet . For this tutorial, we’ll name the Style Sheet button .

Your new Style Sheet should now look like this:

Button reusable block | https://gouache.app

Now let’s add a few styles for our button reusable block.

Here are the styles that we’re going to add. Adding styles is pretty similar to changing apps styles using the Chrome devTools console .

We’re going to add the following basics styles to our button reusable block:

Adding styles to the button reusable block | https://gouache.app

Once you’ve added your styles, don’t forget to click on the Save changes button to make sure the data persist.

Your button reusable block should now look like this:

Button reusable block | https://gouache.app

Now that we have this reusable block ready to use, we’re going to create 2buttons types: primary andsecondary .

Themes

At Gouache, we like to use a folder called themes . That is where the consumed styles object will be created. Inside this folder, we recommend you separate the UI themes that consist of your app. For instance, you could create a default and a dark theme. These folders would then contain Style Sheets specific to each of these themes.

For this tutorial, we’ll be creating a theme called default . This theme will contain 2 types of buttons: primary & secondary .

To do so, we need to navigate into the themes folder. We’re going to add a Folder here called default . Since we’re going to only have 1 theme for this tutorial, let’s add a folder called default . To do so, click on the top-rightAdd button and select Folder . Name your file default and click on the submit button.

Your newly created default theme should then look like this:

Default theme | https://gouache.app

Now, let’s create a buttons folder inside the default folder. In these buttons folders, we will be putting the 2 different button styles (i.e. primary & secondary ).

Your newly created buttons folder should then look like this:

Default theme > buttons folder | https://gouache.app

Creating the primary button

Now, let’s create our first button type, the primary button. First, let’s add a Style Sheet inside the buttons folder by clicking the top-right Add button and selecting Style Sheet . We’re going to name this Style Sheet primary .

Your newly created primary Styles Sheet should then look like this:

Default theme > buttons folder > primary Style Sheet | https://gouache.app

Now, the first thing we want to add to the primary Style Sheet is the button Reusable block created earlier.

To do so, we need to click on the + Reusable block button, select the reusableBlocks.button item and click on the Save changes button.

In the following video, you can see how easy it is to add a reusable block. You can navigate to the reusable block by clicking on the reusableBlocks.button link. Every change made inside the button reusable block will be automatically be updated inside yourprimary button ✨

Adding a reusable block to Style Sheet | https://gouache.app

Similarly to the Design tokens IDs, the folders name represent where the reusable blocks are being stored inside the project:

Anatomy of a reusable block name | https://gouache.app

Your primary Styles Sheet should now look like this:

Primary buttons after adding reusable block | https://gouache.app

Now, let’s use our design tokens created earlier to style our primary button. We’re going to use the $designTokens.colors.blue token for the background-color and for the border-color and the $designTokens.colors.white token for the color of the primary button:

Adding a Design Token as a style value is pretty straightforward. As done earlier when editing the button reusable block, we need to click on the + Style button and enter the style property (ex: background-color ) and type the design token ID starting by a $ character.

Using design tokens inside Style Sheet | https://gouache.app

Your primary Styles Sheet should now look like this:

Primary button with design tokens | https://gouache.app

Here is the anatomy of your primary button:

Anatomy of the primary button | https://gouache.app

Creating the secondary button

Now, let’s do the same thing for the secondary button. We need to navigate to the buttons folders inside our default theme. From there, let’s add a Style Sheet called secondary .

Your newly created Style Sheet should look like this:

Secondary button empty Style Sheet | https://gouache.app

Inside the secondary button, we will be using the same button reusable block as on the primary button but we’ll change how we’re using the design tokens. We’re going to use the $designTokens.colors.blue token for the border-color and for the color and the $designTokens.colors.white token for the background-olor :

Your secondary Styles Sheet should look like this:

Secondary button Style Sheet | https://gouache.app

Downloading the Styles object

Now that we’re happy with how we structured our primary and secondary button, let’s download the Styles object of our project.

To do so, click on the more button ( ... ) of any folder of your project and then click on Download styles object . This will generate a JSON file representing your folder styles.

Downloading Styles object | https://gouache.app

Here is what your project’s Styles object should look like:

Styles object output | https://gouache.app

As you can see below, your Styles object has the same structure as your Gouache project. All the Design tokens and Reusable blocks have now been replaced with their referenced value.

Anatomy of your Styles object | https://gouache.app

You now see that it’s really easy to keep your styles organized with Gouache. This is only the basic feature of the platform and did not include all the more advanced features to make your life easier as a Designer, Product Manager, and Developer!

use-gouache 📦

Now that we know how to use the Gouache platform, let’s take a look at how to connect it to our React app using the use-gouache hook. We’re going to use the simplest way to do it using inline styles.

Now, hop on your current React project or create a new one. For this tutorial, I’m creating a simple app that will show the primary and the secondary button:

primary and secondary buttons raw | https://gouache.app

First, let’s get the Gouache API key. To do so, you need to go to the root of your project and click on the more button on the left of your project title. Then click on Settings to see your API key and copy it.

Get API key| https://gouache.app

Now, let’s go back to your react project. Install the package using the following command using your terminal:

In order to connect your app to Gouache, let’s use the use-gouache:

If you remember the Styles object downloaded earlier, this is how the styles object will be:

Your primary and secondary buttons should then be updated 🎉

primary and secondary buttons styled | https://gouache.app

Now that our React app is connected with Gouache, we can perform changes to the Gouache platform and see the changes live-updating into our app ✨

Live updates | https://gouache.app

Congratulations 🎉

Nice work, you’ve finished the basic tutorial about how to use Gouache! We hope that you’ve liked this introduction and that it has made you excited about how powerful and how convenient Gouache can be.

Don’t forget to follow us on Twitter and LinkedIn to get updates about our next blowing mind features that are coming 🤯

Thank you for your time and have a great day,
Gouache team

--

--