Coordinate the scaling of multiple objects, and learn some visual tricks while animating the Github logo.


Grab the icons.sketch file

Layout in Sketch.

On the Github page in icons.sketch, you’ll see two artboards. On the left is the start state and the right is the final state.

Github States in Sketch.


To achieve the effect we’re looking for, we need to use different layers of the same “logo.” For example, I had to cut out and reshape the cat layer so that I could position it over top of a solid circle.

Check out all the layers in the Github design.

Create a Flow File

Create a Flow file by adding the Dribbble artboard at both t0 and t1.

Dribbble Flow File

Since we used the same artboard for the start and end states, there is no initial animation in Flow.


Let’s clean up and get started.

The circle

  1. Lock the background layer.
  2. Delete the path track on circle
  3. Set the x property at 1.0s to 187.5 (i.e. half the width of the scene)
  4. Delete the other x keyvalue to remove the animation
  5. Drag the width and height keyvalues from 0.0s to 0.25s
  6. Press option+⬅︎ to snap the playhead to those keyvalues.
  7. Select circle and align it to the top of logo
  8. At 1.0 grab y, width and height, then drag them to 0.5s
  9. Change all the easing values to Ease Out
  10. Move the first keyvalue of the opacity track to 0.64s and set the easing to Step Left

The solidCat

  1. Delete the first keyvalue of the x track
  2. Change the y track to animate from 0.35s to 0.65s
  3. Make the y track easing Ease Out
  4. Change the opacity easing value to Step Right
  5. Drag the last opacity keyvalue to 0.65

    “What are all these steps?” You wonder. Well, you can think of them as moments where there are no animations. Then, the property snaps to the next value.

  1. Drag the first opacity keyvalue to 0.51s, and make the easing Step Left
  2. Grab the first keyvalue of the tailDots group and drag it to 0.9s
  3. Stagger all the layers in the tailDots group
  4. Move the first fill layer’s animation so that it starts at 0.67s
  5. Distribute-left all the fill layers.