Hey.

I'm Hakim El Hattab, a Swedish front end developer and interface designer. I co-founded and am working on Slides. Slides is a platform for creating, presenting and sharing slide decks. Sign up and give it a try or learn more in this example presentation.

I love to experiment with graphics and interactivity. Take a look at some of my favorite projects:

Flipside

A button that seamlessly transitions from action to confirmation.

Sketch Toy

Draw sketches with shaky lines and share replays with friends. My most popular project to date with over 500m views and 65m saved sketches.

Slides

A platform for creating, presenting and sharing slide decks.

Monocle

Scroll the page and see list items expand under the magnifying area. Inspired by a Flash site I saw years ago.

Ladda

UI concept which merges loading indicators into the buttons that invoke them.

reveal.js

Open source framework for creating HTML presentations. Support PDF exports, speaker notes, Markdown and much more.

My work consists of a healthy mix of useful interface libraries, pointless animations and minimalist games. Projects are listed chronologically, newest-first. I've focused on my personal work and excluded things that I worked on at my previous jobs.

tick-tock

Clock pattern animation.

Checkwave

Check a checkbox to generate a wave of checkboxes. Because not.

Flexing Pagination

Pagination arrows that "flex" when you hover or press them.

Cloud

3/3 in a series of CSS-only animations.

Spinner

2/3 in a series of CSS-only animations.

Hole

1/3 in a series of CSS-only animations.

Kontext

A context-shift transition inspired by iOS.

Hypnos

An infinite and hypnotic animation.
3, 2, 1... You're feeling sleepy.

Kort

UI concept for thumbnail previews. Hover over a single thumbnail to reveal it as a 3D stack.

Fokus

Emphasize text selection by obfuscating the rest of the page.

Linjer

Interactive experiment based on the visuals originally created for Radar.

Avgrund

Modal concept which gives a sense of depth between the page and modal layers.

Meny

Experimental fold-in menu.

Radar

An audio-visual experiment which synthesizes sound in real-time.

forkit.js

A fun twist on the GitHub "fork" ribbon.

Scroll Effects

CSS-based scroll effects for lists.

DOM Tree

A digital christmas tree made out of HTML form elements.

zoom.js

JavaScript library for zooming in on DOM elements. Similar to pinch-to-zoom on a phone but programatically.

Rolling Links

Experimental 3D hover effect for links.

Origami

A colorful folding doodle. Click anywhere on the drawing — or use your keyboard — to switch layouts.

Sphere

Thousands of particles animated in an ever morphing spherical pattern.

Textify.it

Browse for or drag an image onto the page and watch it be reconstructed purely out of text.

Coil

Minimalistic game based on quick and precise pointer movement.

Holobox

A holographic effect based on device orientation. Only tested in Safari for iOS.

BreakDOM

Ever wondered what it would feel like to attack a bunch of checkboxes with a radio button that's being steered by a scrollbar?

Yugen Logo

An animated logo created for Yugen, a Canadian media production company.

Bacterium

An interactive experiment with bacteria in a playful and dynamic physics simulation.

20 Things I Learned About Browsers and the Web

An online book that aims to better people's understanding about the inner workings of browsers and the web.

Created for Google while I was working at Fi.

Core

Sinuous' sibling game. More evil red dots!

Sinuous

A devilishly simple but challenging game. Your objective is to steer clear of the evil red dots and stay alive as long as possible. Also available for iOS, search for it in the App Store.

Bakemono

A little monster that I brought to life with JavaScript. Bakemono is Japanese for monster.

Keylight

A playhead travels between keys which resonate in sound depending on where they are placed in the room.

Blob

Soft blobby physics. Imagine jelly, in your browser.

Magnetic

Create currents of particles which orbit around magnetic nodes.

Trail

Particle movement patterns that generate smooth trails.

Particle Depth

Particle positioning patterns using depth.

Wave

A wave with bubbles floating on the surface, the bubbles each represent a tweet with the word "water" in it.

Particles

Particles slide across the screen and grow as they get close to the mouse. First thing I ever did using <canvas>

Most of my projects are released open source so you can freely modify or improve on them.

Q&A