Design native userflows right inside Figma and Sketch with Flowkit 2.0

Nov 6, 2018 · 11 min read

Drawing and editing lots of lines and boxes for user flows in any design tool is is a real pain. If you’ve ever done it, you know what I’m talking about.

Even if you manage to get it done for your current project, there’s always the next project that needs almost the same treatment.

Almost. That’s the problem. Your old lines and boxes don’t quite match up with what you need now and there’s not easy way to reuse what you’ve already done.

After experiencing this pain myself on multiple client projects over and over again, I finally decided to do something about it.

I decided to make my own reusable flow library. I thought of every possible direction, line curve, variation, etc. that I would possibly want in a flow component library. Then, I made it.

I spent what some would consider an unreasonable amount of time crafting every single little detail. I even changed the naming convention several times based on how usable and memorable each component was.

I had a dozen or so people test out the initial version back in October of 2017, right before I went live with version 1.0.

Fast forward one full year and I’m still using Flowkit on my projects and still have people telling me how much they love it and how much time it’s saved them on their projects.

After a full year of personal use and informal feedback gathering, I wanted to rebuild Flowkit from scratch to work with more design tools and incorporate a few updates here and there.

What’s new in 2.0?

Flowkit has been redesigned from the ground up for both Figma and Sketch. Both files contain the same content in regards to symbols and components, but each format was designed natively to leverage the unique features of each design tool.

What about Studio and XD? At the time of this writing, they don’t currently support all of the nested component features that Flowkit needs to be fully functional. When they do, I’ll update Flowkit. 👍

Please note, the use of the word component used in the rest of the article applies to both Figma components and Sketch symbols respectively.

New Grid

Each component has been redesigned at 360x360 pixels with padding included. This means that all flows, blocks, annotations, etc. can now be aligned side by side, with zero margin, and have a consistent spacing throughout the entire document. This eliminates the need to guess the dimensions and proper spacing for any specific component used in your flow.

Master Components

The Master Components are the foundational pieces that create all of the component instances. The total number of Master components for the flow lines has been reduced from 22 components in Flowkit 1.0 to now only 12 Master components in Flowkit 2.0.

Each variation of the Master components all scale correctly while manually scaling the bounding box of a component or by using keyboard shortcuts like ⌘ (↑ → ↓ ←)and ⌘ ⇧ (↑ → ↓ ←). Any edits made to these components will affect all instances in the library. It is not recommended to modify the Master Components.

Master Variants

There are several master variants for quickly changing the core style of the Flow instance. These include Dashed, Red, Green, Blue, and Light.

Pre-built styles are available for all components in Flowkit. There are multiple options for stroke styles, fill colors, and more built directly into both Figma and Sketch using their own unique way of handling styles.

Naming Conventions

Each directional component uses the following naming convention. It begins with the point of origin and ends with the destination.

Type / Direction 1 / Modifier 1 / Direction 2 / Modifier 2

  • Type can be either Flow or Tap, depending on the type of flow you are creating. Flow is intended to be used for high-level user flows, whereas Tap is intended to be used with wireframes or actual screen designs all on the same artboard.
  • Direction 1 determines the initial direction of the path. This can be Right, Left, Up, or Down
  • Modifier 1 comes immediately after the Primary Direction. This can be Straight, Curve, or Snake.
  • Direction 2 comes immediately after the Initial Modifier. Right and Left components can be either Up, or Down, whereas Up and Downcomponents will have Secondary Modifiers as Left, or Right.
  • Modifier 2 is the final section of the Flow component and determines the direction of the arrow. This can be Straight, U-turn, or Hook.


These are the primary components in the system. There are 11 options (listed below) for each direction. All Flow components can be scaled without skewing or stretching. Each Flow component also contains nested endpoints that can be hidden or overridden with different end points.

These are the 11 core flow building blocks.

There are 11 variants in total for each direction. For example:

  1. Flow / Right / Straight
  2. Flow / Right / Curve / Down / Straight
  3. Flow / Right / Curve / Down / U-turn
  4. Flow / Right / Curve / Down / Hook
  5. Flow / Right / Curve / Up / Straight
  6. Flow / Right / Curve / Up / U-turn
  7. Flow / Right / Curve / Up / Hook
  8. Flow / Right / Snake / Down / Straight
  9. Flow / Right / Snake / Down / Hook
  10. Flow / Right / Snake / Up / Straight
  11. Flow / Right / Snake / Up / Hook

Taps & Interactions

Taps are intended for use on top of UI screen designs when laying out flow documents. They follow the same naming pattern as Flow components. Each endpoint has been pre-overridden with the Tap endpoint and can additionally be changed to other interactions, such as Swipe, Long Press, and Double Tap.

End Points

In Flowkit 2.0 every single End Point is the same dimension and can be interchanged with any other end point instance for full customization. These include circles, arrows, taps, swipes, and more.

Example high-level flow using Flowkit


Blocks are used as main sections of user flows. Just like every other component, they’re built on a 360x360 grid. There are multiple Block options such as Default, Dashed , Emphasis, and Solid.

There are also Device blocks for iOS,Android, and Browser.

Labels & Annotations

There are multiple label styles including solid and outline versions of default, red, blue, and green. Labels are intended for use with Flow or Tap lines to provide more context about a specific user paths.

There are two types of annotation components. The general Annotation Labels can be used anywhere within your flow to provide more situational context, whereas the Annotation Points are intended to callout specific areas of your screen designs.

Dark Mode

In my best Mugatu voice…

“Dark mode. So hot right now.”

Flowkit 2.0 comes with an inverted color option for dark interfaces, dark backgrounds and those who generally like to live life on the dark side. 😎

Ok, great. How do I actually use it?

Since Flowkit was created in both Figma and Sketch, installing the library is quite simple and no additional software is required.

Installing in Figma

Figma requires users to have a paid Team account to create and access Figma Libraries. Therefore, to use Flowkit as a shared library between users and files, you and your team will need to have a paid Figma Team account.

  • Open flowkit-v2.fig with Figma.
  • Click the book icon in the top right to access Libraries.
  • Navigate to the Flowkit 2.0 line item and click Publish.
  • Create a Team project called Flowkit and click Move.
  • Flowkit will now be available as a library across all Team projects.
  • For more info on Figma libraries, read Figma’s documentation.
  • Please make sure you have the appropriate Flowkit Team license to share the library with your design team. Have a personal license and need to upgrade? Let me know and I’ll hook you up with an upgrade coupon code.

Free Figma Accounts

If you have a free Figma account, it is recommended that you create userflows as additional pages inside of the Flowkit file in order to leverage the assets as components.

Installing in Sketch

Installing the Flowkit Library will make it available for use with all of your Sketch files.

  • Open Sketch preferences, navigate to the Libraries tab.
  • Choose Add Library... in the bottom left.
  • Select flowkit-v2.sketch and click Open
  • Now you’re ready to use Flowkit 2.0 in any Sketch 52+ document.

Sketch Runner + Flowkit

Using Flowkit with Sketch Runner is highly recommended. You can download the free Sketch Runner plugin, here. Sketch Runner will allow you to use keyboard commands to insert Flowkit library symbols onto your canvas. Use ⌘ " to open Sketch Runner, then type in the easy-to-remember™ Flowkit naming convention Type / Direction 1 / Modifier 1 / Direction 2 / Modifier 2 to place the symbol you want.

Download this free shortcut plugin to use Flowkit even faster.

Creating High-level Flows with Flowkit

Every main component inside of Flowkit is based on a 360x360 grid. Each one was designed to have 0px of margin on all sides when linking blocks and flows.

It is recommend to create one high-level flow focused on one particular section or feature of your project, per large artboard that can later be shared or exported.

High-level flows in Figma

  • Press ⌥2 or click the components icon in the lower left, to access Flowkit in the Components panel.
  • At the top of the Components panel, search for block default, choose a block component and place it on the canvas.
  • Now search for flow right, choose a flow component and place it on the canvas.
  • Continue adding components by searching and navigating the component list, as necessary.

High-level flows in Sketch

  • Use ⌘ " to open Sketch Runner.
  • Type block default and hit return.
  • Use ⌘ " again, and type flow right straight.
  • Continue adding components with Sketch Runner, or by navigating the Flowkit symbol list from the Sketch app toolbar.

Screen to Screen Flows

Do not place the Flowkit components on top of artboards or frames and try to connect them to other artboards or frames. This will result in clipped components and unhappy Flowkit users. ☹️

Do place the Flowkit components on top of artboard instances on one giant artboard. This is the recommended screen flow technique when using Flowkit.

There are distinct ways to create screen flows in both Figma and Sketch — dynamic screens and exported screens.

Screen flows in Figma

Dynamic Screens (recommended)

  • Select a frame and press ⌘⌥K to convert to a component
  • Copy and paste an instance of your frame component onto a larger frame to begin building your flow.
  • With your first frame instance in place, navigate to the component panel with ⌥2 and search for tap right.
  • Rinse and repeat as necessary.
  • Any adjustments made to your master frames will be reflected in your flow frame automatically.
  • Don’t forget to reposition your flow components if you refactor your designs.

Exported Screens (alternate)

  • This is a quick way to create a flow when dynamic screens don’t matter.
  • Right click any frame and choose Copy as > Copy as PNG.
  • Paste the bitmap onto your large flow frame.
  • Press ⌥2 or click the components icon in the lower left, to access Flowkit in the Components panel.
  • Search for tap right straight and place the flow component on your large flow frame.
  • Rinse and repeat as necessary.

Screen flows in Sketch

Dynamic Screens with Plugins

  • Install either the free Angle or Magic Mirror plugin.
  • Create a large artboard to contain your screen flows.
  • Draw a rectangle the same size as the first artboard you’d like to use.
  • Apply the Magic Mirror or Angle plugin to the rectangle, to mirror your artboard. Please refer to the plugin documentation for more details on this.
  • Use Sketch Runner ⌘" and search tap right straight to place your first flow symbol.
  • Rinse and repeat as necessary.

Dynamic Screens with Symbols

  • Convert your artboards to symbols.
  • Create a large artboard to contain your screen flows.
  • Place the symbol instance of your artboard onto the large artboard.
  • Use Sketch Runner ⌘" and search tap right straight to place your first flow symbol.
  • Rinse and repeat as necessary.

Exported Static Screens

  • Select an artboard and choose Make Exportable in the bottom right of the inspector panel
  • Use Sketch Runner ⌘" and search tap right straight to place your first flow symbol.
  • Rinse and repeat as necessary.


Whether you are building complex flows or changing interactions on tap components, Flowkit comes with lots of prebuilt override capabilities to hide or show certain endpoints.

Linking flow components

There are times when linking multiple flow components together is necessary to give you just the crazy line you want in your document. You can achieve the appearance of a continuous line by hiding the nested endcaps.

Building a complex flow in Figma
Building a complex flow in Sketch

Changing tap interactions

The default interaction for screen flows is tap, but it can easily be overriden with double tap, swipe (up, down, left, right), and long press.

Overrides in Figma
Overrides in Sketch

Snag Flowkit for you or your team

Visit and grab the license that’s right for you!

Still have questions? I’d be happy to help you out, just tweet at me.


by MDS


Written by


Shape Shifter.



by MDS

More From Medium

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade