DEV Community

Mads Stoumann profile picture

Mads Stoumann

I'm a web developer, graphic designer, type designer, musician, comicbook-geek, LEGO-collector, food lover … as well as husband and father, located just south of Copenhagen, Denmark.

Location Copenhagen Joined Joined on  Personal website https://stoumann.dk github website twitter website

Work

Co-Founder at Perfection.DEV

Tetris Testimonial Quotes

Tetris Testimonial Quotes

29
Comments 4
1 min read

Want to connect with Mads Stoumann?

Create an account to connect with Mads Stoumann. You can also sign in below to proceed if you already have an account.

Already have an account? Sign in
Configurable CSS Components

Configurable CSS Components

9
Comments 2
4 min read
Extending Emmet and VS Code — and discovering 415 CSS properties

Extending Emmet and VS Code — and discovering 415 CSS properties

9
Comments
9 min read
Recreating Apple's Color Picker Icon

Recreating Apple's Color Picker Icon

25
Comments 5
2 min read
Build a CSS Transition Tool for your editors

Build a CSS Transition Tool for your editors

12
Comments
3 min read
SVG, Geometry — and a dash of JavaScript

SVG, Geometry — and a dash of JavaScript

71
Comments 8
3 min read
Build a Multi-Language Countdown Component

Build a Multi-Language Countdown Component

12
Comments 2
4 min read
Creating a Word Wheel in CSS

Creating a Word Wheel in CSS

32
Comments 9
2 min read
Masking and coloring product images using CSS and SVG

Masking and coloring product images using CSS and SVG

46
Comments 6
3 min read
Creating SVG Icons from JSON

Creating SVG Icons from JSON

37
Comments
3 min read
Creating a Grid Visualizer

Creating a Grid Visualizer

11
Comments
3 min read
How to embed YouTube and Vimeo the light way

How to embed YouTube and Vimeo the light way

29
Comments 5
3 min read
Re-creating Apple’s Dark Mode Icon

Re-creating Apple’s Dark Mode Icon

20
Comments 6
2 min read
Showing "time ago" in a Social Feed using Intl.RelativeTimeFormat

Showing "time ago" in a Social Feed using Intl.RelativeTimeFormat

28
Comments 3
2 min read
Play Blur onblur

Play Blur onblur

9
Comments
2 min read
Learning from the Masters of Design

Learning from the Masters of Design

26
Comments 6
3 min read
Creating Global Components: A Checklist With Examples

Creating Global Components: A Checklist With Examples

60
Comments
7 min read
Introducing the EyeDropper API

Introducing the EyeDropper API

7
Comments
2 min read
Validating Markup: Write Your Own Snippet

Validating Markup: Write Your Own Snippet

44
Comments 4
2 min read
Build a CSS Ruler

Build a CSS Ruler

73
Comments 2
3 min read
Layered Gradient Playground

Layered Gradient Playground

32
Comments
1 min read
KAOSS! Fun with Web Audio

KAOSS! Fun with Web Audio

180
Comments 20
1 min read
Nested border-radius Playground

Nested border-radius Playground

32
Comments 4
1 min read
A simple Color-Picker using CSS5 color-contrast() and color-mix()

A simple Color-Picker using CSS5 color-contrast() and color-mix()

26
Comments
3 min read
The Frontend Agency

The Frontend Agency

152
Comments 18
3 min read
Building A Minimal AutoSuggest

Building A Minimal AutoSuggest

242
Comments 5
8 min read
Building a Reaction Component

Building a Reaction Component

137
Comments 31
3 min read
Comics, Graphic Design — and the Power of JavaScript

Comics, Graphic Design — and the Power of JavaScript

33
Comments 3
4 min read
Mood Selector Component

Mood Selector Component

27
Comments 10
1 min read
Star-Rating Using A Single Input

Star-Rating Using A Single Input

404
Comments 34
3 min read
A Quick Guide To CSS Logical Properties

A Quick Guide To CSS Logical Properties

26
Comments 4
5 min read
Container Queries: Another Polyfill

Container Queries: Another Polyfill

27
Comments 4
5 min read
Deconstructing Art: Learning From Constraints

Deconstructing Art: Learning From Constraints

21
Comments 6
3 min read
Random Art Generator: Dots & Rings

Random Art Generator: Dots & Rings

34
Comments 2
1 min read
How To Fill Out A Form With Your Voice

How To Fill Out A Form With Your Voice

23
Comments 2
2 min read
Color Stripes

Color Stripes

5
Comments
1 min read
How to Build a Color Wheel with Tints & Shades

How to Build a Color Wheel with Tints & Shades

49
Comments 11
2 min read
Why “dark mode” is more energy-efficient: How to calculate image energy-cost

Why “dark mode” is more energy-efficient: How to calculate image energy-cost

181
Comments 41
2 min read
SVG Circle Pattern Generator

SVG Circle Pattern Generator

9
Comments
2 min read
data-attributes vs. BEM

data-attributes vs. BEM

10
Comments 2
2 min read
Lockdown Fun: Your Age In Binary

Lockdown Fun: Your Age In Binary

69
Comments 7
1 min read
When Lighthouse Itself Causes Issues

When Lighthouse Itself Causes Issues

2
Comments 1
1 min read
Responsive images: How they work – and how to use them with “Art Direction” and “Dark Mode”

Responsive images: How they work – and how to use them with “Art Direction” and “Dark Mode”

34
Comments
9 min read
Colors are Math: How they match — and how to build a Color Picker

Colors are Math: How they match — and how to build a Color Picker

199
Comments 17
5 min read
Sharing with the Navigator Share API

Sharing with the Navigator Share API

16
Comments
3 min read
Flashlight Website

Flashlight Website

7
Comments 4
1 min read
Accessible Modal With Or Without JavaScript

Accessible Modal With Or Without JavaScript

15
Comments 5
3 min read
Table Designer

Table Designer

24
Comments 4
2 min read
Web Typography Checklist

Web Typography Checklist

9
Comments 2
7 min read
Making Sustainable Websites

Making Sustainable Websites

55
Comments 9
6 min read
Lockdown Fun: Pascal's Triangle

Lockdown Fun: Pascal's Triangle

28
Comments
1 min read
Accessible, Resizable Table-Columns

Accessible, Resizable Table-Columns

37
Comments 22
2 min read
Frontend Security: Security Headers

Frontend Security: Security Headers

223
Comments 8
3 min read
Frontend Security: Content Security Policy

Frontend Security: Content Security Policy

98
Comments 9
3 min read
Accessible Image Compare — One Line of JavaScript

Accessible Image Compare — One Line of JavaScript

38
Comments 3
1 min read
Staying Alive: The Screen Wake Lock API

Staying Alive: The Screen Wake Lock API

24
Comments 1
2 min read
Frontend Security: npm-audit and Script integrity

Frontend Security: npm-audit and Script integrity

93
Comments 1
2 min read
Polygon to clip-path & SVG

Polygon to clip-path & SVG

11
Comments 2
1 min read
How Google tracks with the ping-attribute

How Google tracks with the ping-attribute

13
Comments 5
3 min read
275 bytes BMI Calculator

275 bytes BMI Calculator

24
Comments 4
2 min read
loading...