SuperHi FM

INTERMEDIATECOURSE

Experimental Typography For The Web

Make type animations from scratch! Learn how to bend and mould typography for use in your own websites using P5.js.

Rik Lomas

Taught by

Rik Lomas

Want to know how to work with variable fonts and how to create kinetic typographic animations for websites? If yes, this creative, go-at-your-own-pace course is for you. We've created a series of projects for this that are all about getting weird with type.

Across 6 hours, you'll learn how to add variable fonts to your websites, plus how to animate and make them interactive. You'll also work with P5.js, a Javascript library for creative coding, to bend and mould typography.

You'll also create your very own kinetic typography animations from scratch, be able to add them to websites and make them user-interactive.

This is a great next step for students who already have some knowledge of HTML and CSS, or have completed our Foundation HTML, CSS + Javascript or Javascript for Designers courses.

What you’ll learn

  • How to add variable typography to websites and change it
  • How to add CSS animations and transitions to web type
  • Working with P5.js within an in-browser canvas, even if you've never coded before
  • How to think about and create your own kinetic typography animations from scratch
  • How to let your users change and interact with your beautiful kinetic type animations
  • How to break apart typography into its base components to rework it completely

Requirements

A computer (Windows, Mac or Linux) with the latest version of Chrome installed and a broadband internet connection. That’s everything!

Target Audience

Anyone who wants to learn how to work with variable typography or create their own interactive, kinetic typography from scratch.

This is a beginner course when it comes to page transitions, though we would recommend basic knowledge of HTML, CSS, and a bit of Javascript before starting. If you don’t have this just yet, trying our Learn To Code Now book, or taking either our Foundation HTML, CSS + JS course or our Javascript for Designers course will help you feel as prepared as possible.

Playground Agency

Welcome to the course! In the first project we discover how to add web typography to a site and how to play around with variable type using CSS animations

Go to chapter
Caroline Wade

We extend upon variable type with the Bandeins Strange typeface which has two levels of variability. We also add in hover states and a script to change the type on scroll.

Go to chapter
01 01

For most kinetic type animations, we need to draw in a canvas to be able to manipulate our type. In this project, we copy and paste our text so we can play around with its width

Go to chapter
aaaaaaaaa

Once we've started to copy and paste our image, we want to be able to play with its distortion within a grid

Go to chapter
Good Morning

We take kinetic type to its extremes by making the grid very small and by letting our users change the text and the speed of animation

Go to chapter
Out of Office

Sometimes, we want to be able to let our users have control over the animation. We add timeline scrubbing to our project along with an animation loop

Go to chapter
Brutalust

In our brutalism fansite, Brutalust, we add in a typer-style effect to our HTML-content using vanilla Javascript's setInterval looping to change and randomize text

Go to chapter
Dani Lewis

In our final project, we take drawing to its extreme by sampling a font and redrawing it with circles and lines, and then using vectors to add distortion based on our mouse position

Go to chapter

Get access to Experimental Typography For The Web

  • Practical, go-at-your-own pace learning, with help from our industry experts and experienced teachers
  • Projects and code that you can alter and include in your own sites and portfolio
  • Resources to get you started and going post-course

Your instructor

Rik Lomas

Rik Lomas

Founder + CEO

Rik (he/him) is a Mancunian coder, teacher and CEO of SuperHi. He was the co-founder of Steer (a code school in London) and has taught several thousand people to code. He is a bit too old to be posting memes on our social media and recently featured as a Sour Patch Kid in the Macy's Thanksgiving Parade.

With support from...
Jake Brussel Faria

Jake Brussel Faria

Teacher

Course structure

  1. Welcome to the course!

    Lesson 01

    Welcome to the course!

  2. Playground and the SuperHi Editor

    Lesson 02

    Playground and the SuperHi Editor

  3. Setting up our HTML

    Lesson 03

    Setting up our HTML

  4. Styling our page with CSS

    Lesson 04

    Styling our page with CSS

  5. Basic web typographic styling

    Lesson 05

    Basic web typographic styling

  6. Adding a Google Font typeface to our project

    Lesson 06

    Adding a Google Font typeface to our project

  7. Adding your own self-hosted typeface

    Lesson 07

    Adding your own self-hosted typeface

  8. Adding hover states

    Lesson 08

    Adding hover states

  9. Stretching the typeface

    Lesson 09

    Stretching the typeface

  10. Adding a CSS animation

    Lesson 10

    Adding a CSS animation

  11. Adding variable type to our project

    Lesson 11

    Adding variable type to our project

  1. Welcome to Caroline Wade

    Lesson 01

    Welcome to Caroline Wade

  2. Creating our page

    Lesson 02

    Creating our page

  3. Adding in our variable font

    Lesson 03

    Adding in our variable font

  4. Creating our first Javascript file

    Lesson 04

    Creating our first Javascript file

  5. Adding variable type to Javascript

    Lesson 05

    Adding variable type to Javascript

  1. Welcome to 01 01

    Lesson 01

    Welcome to 01 01

  2. Setting up our P5.js script

    Lesson 02

    Setting up our P5.js script

  3. Drawing text with P5

    Lesson 03

    Drawing text with P5

  4. Preloading a font to use

    Lesson 04

    Preloading a font to use

  5. createGraphics and copy

    Lesson 05

    createGraphics and copy

  6. Adding a sprinkle of math to our movement

    Lesson 06

    Adding a sprinkle of math to our movement

  1. Welcome to aaaaaaaaa

    Lesson 01

    Welcome to aaaaaaaaa

  2. Drawing text with P5

    Lesson 02

    Drawing text with P5

  3. Styling our text

    Lesson 03

    Styling our text

  4. Adding a for loop

    Lesson 04

    Adding a for loop

  5. Adding a y-direction with a double for loop

    Lesson 05

    Adding a y-direction with a double for loop

  6. Speed improvements with image

    Lesson 06

    Speed improvements with image

  7. Recreating the original text

    Lesson 07

    Recreating the original text

  8. Adding global distortion and movement

    Lesson 08

    Adding global distortion and movement

  9. Adding in local distortion

    Lesson 09

    Adding in local distortion

  10. Homework

    Lesson 10

    Homework

  11. Homework solution

    Lesson 11

    Homework solution

  1. Good morning to Good Morning

    Lesson 01

    Good morning to Good Morning

  2. Setting up our script

    Lesson 02

    Setting up our script

  3. Cut and paste with createGraphics

    Lesson 03

    Cut and paste with createGraphics

  4. Gridding up our graphics

    Lesson 04

    Gridding up our graphics

  5. Distortion in two directions

    Lesson 05

    Distortion in two directions

  6. Adding a wave slider

    Lesson 06

    Adding a wave slider

  7. Adding text field updates

    Lesson 07

    Adding text field updates

  8. Homework

    Lesson 08

    Homework

  9. Homework solution

    Lesson 09

    Homework solution

  1. Welcome to Out of Office

    Lesson 01

    Welcome to Out of Office

  2. Setting up our stamp

    Lesson 02

    Setting up our stamp

  3. Cloning twelve times

    Lesson 03

    Cloning twelve times

  4. Changing our sample position

    Lesson 04

    Changing our sample position

  5. Timeline scrubbing with mouse position

    Lesson 05

    Timeline scrubbing with mouse position

  6. Adding easing to our scrubbing

    Lesson 06

    Adding easing to our scrubbing

  7. Adding in an animated loop

    Lesson 07

    Adding in an animated loop

  1. Welcome to Brutalust

    Lesson 01

    Welcome to Brutalust

  2. Setting up our site

    Lesson 02

    Setting up our site

  3. Adding typography to our site

    Lesson 03

    Adding typography to our site

  4. Adding in our first Javascript content change

    Lesson 04

    Adding in our first Javascript content change

  5. Cleaning up our script with a function

    Lesson 05

    Cleaning up our script with a function

  6. Substringing our content

    Lesson 06

    Substringing our content

  7. Adding in an interval

    Lesson 07

    Adding in an interval

  8. Stopping intervals with clearInterval

    Lesson 08

    Stopping intervals with clearInterval

  9. Adding in random dots

    Lesson 09

    Adding in random dots

  10. Adding in random characters

    Lesson 10

    Adding in random characters

  11. The IntersectionObserver

    Lesson 11

    The IntersectionObserver

  12. Saving the original content with dataset

    Lesson 12

    Saving the original content with dataset

  13. Adding in scroll snapping

    Lesson 13

    Adding in scroll snapping

  1. Welcome to Dani Lewis

    Lesson 01

    Welcome to Dani Lewis

  2. Setting up our project

    Lesson 02

    Setting up our project

  3. Using P5's textToPoints

    Lesson 03

    Using P5's textToPoints

  4. Drawing shapes with the points

    Lesson 04

    Drawing shapes with the points

  5. Adding p5 vectors

    Lesson 05

    Adding p5 vectors

  6. Adding a distance to distortion

    Lesson 06

    Adding a distance to distortion

  7. Adding noise levels

    Lesson 07

    Adding noise levels

  8. Thank you for joining our course!

    Lesson 08

    Thank you for joining our course!

SuperHi students work at the best

Our students are based all over the world and work at creative companies large and small. Why not check out some of their work?

View student work

Feeling stuck?

Don’t worry, we are here to help you with:

  • Speedy help from one of our team members
  • Detailed, relevant solutions
  • Direct access to peer support through Discord!

Remember, there’s no such thing as a silly question, so don’t hesitate to reach out, we love hearing from you!