Skip to content

Steve Schoger design tips

Steve has been dropping some great design tips lately so I started saving them.

🔥 Achieving an accessible contrast ratio is very difficult when using white text on a colored background. Using dark colored text on a soft colored background is much easier to make accessible, and usually looks better to boot 👌

31 replies 638 retweets 2,919 likes

👨‍🎨 Continuing work on the Refactoring UI component gallery this week. Here's sneak peak at some of the layout ideas for pricing pages 👀

22 replies 50 retweets 700 likes

Been working on the Refactoring UI component gallery all week 🤘 There's going to be a *ton* of examples to browse through when looking for ideas. Here's a few examples of sign-in forms I put together today:

64 replies 261 retweets 2,108 likes
Replying to

Working on some documentation as we speak. Here are a few ideas:

11 replies 35 retweets 338 likes

🔥 Get creative with table design — table cells can contain more than simple unstyled text. Here are a few ways to make tables look more interesting:

51 replies 867 retweets 4,365 likes

🔥 Get creative with radio button interfaces — don’t be limited by the typical list-of-options approach. For example, using selectable cards gives you the freedom to present the options in a more exciting way:

38 replies 590 retweets 3,314 likes

Incorporating a “visual gimmick” in to your brand/website is a great to create a consistent tone and establish a visual identity. Whether it’s a visual element taken from the logo or something simple like this example from Algolia:

5 replies 34 retweets 336 likes

🔥 If you're tired of using outline styles for secondary buttons, a soft solid background based on the text color can be a great alternative.

36 replies 451 retweets 2,921 likes
2 replies 10 retweets 131 likes

🔥 Don't be afraid to "think outside the database" — your UI doesn't need to map one-to-one with your data's fields and values. Here are a few ideas you can use to present "field: value" data in a more interesting way:

121 replies 3,731 retweets 13,576 likes

🔥 Recently had the pleasure of designing the pricing section of ’s Advanced Vue Component Design course. Here are a few visual design ideas I considered to give it some extra polish 💅

14 replies 66 retweets 708 likes

🔥 Overlapping images is a great way to add depth to an interface and make it look more “designed”. Use a border that matches the background color to create distinction and keep things looking clean 👌

25 replies 356 retweets 2,470 likes

🔥 If you want text of different sizes to *feel* like the same weight, make larger text thinner and smaller text bolder.

19 replies 409 retweets 2,054 likes

🔥 "Grey" doesn't have to mean Grey™. Try saturating your greys with a bit of blue or brown for a cooler or warmer feel.

13 replies 218 retweets 1,486 likes

Here's another great (free) tool for generating duotone images by Thanks for sharing

2 replies 28 retweets 177 likes

🔥 Using the same line-height for all text is a very subtle but common mistake. 1.5 may work great for body copy, but as text gets larger, your line-height should get tighter.

16 replies 221 retweets 1,319 likes

👆 This small, uppercase text treatment also works great for headings for link lists like this vertical navigation or footer site map

4 replies 23 retweets 207 likes

🔥 This “eyebrow” title treatment is not only great for clarifying your message, but it also makes a boring headline + body pattern look more interesting.

3 replies 52 retweets 439 likes

Here's another small example that I'll be using for my talk. Getting really excited about this. I've been working on this talk on and off, evenings/weekends for over 2 months.

11 replies 26 retweets 263 likes

🔥 Dropdowns can be more than just a boring list of links. They're just boxes, you can do anything you want with them! For example, this two-column layout is great when you want to add supporting text:

31 replies 431 retweets 2,315 likes

☝️ Also, containing photos in circles - Great way to make a bad photo look good 👌

2 replies 15 retweets 147 likes

🔥 Working with images that clash with each other? Try desaturating them to greyscale or colorizing them all with a single color to make them a little more cohesive.

11 replies 70 retweets 557 likes

This year at I will be talking about the "Little Details of UI Design". I'll be refactoring the design below, sharing *every* step along the way, with lots of hawt tips that you can apply to your own designs 🔥 Tickets are available at

6 replies 44 retweets 325 likes

🔥 Styling content can be difficult. Here are a few ideas that can make a big difference:

18 replies 199 retweets 1,167 likes

Here's a Twitter Moment with some older tips I've shared that you can consider when designing a landing page like this one:

1 reply 18 retweets 103 likes

🔥 Need to put together a quick landing page for a new idea? Here are some tips for making it look professional without hiring a designer:

14 replies 107 retweets 765 likes

🔥 Instead of blowing up small, in-app icons for your landing page, try putting a shape behind them and giving them a background color.

18 replies 289 retweets 1,771 likes

🔥 Little details go a long way when styling UI components. Here are a few different ways to style buttons:

10 replies 76 retweets 467 likes

☝️Be sure to check the focus state on these 👍

1 retweet 23 likes

☝️Here's a with all of the example's above 😘 

3 replies 14 retweets 118 likes

🔥 Little details go a long way when styling UI components. Here are a few different ways to style inputs:

8 replies 132 retweets 759 likes

🔥 Designing nice tables can be tough, but here's a few ideas that can make a big difference:

26 replies 260 retweets 1,481 likes

🔥 Font size isn't always the best way to emphasize or de-emphasize text, try using color and font weight instead:

16 replies 229 retweets 1,276 likes

On mobile, I would keep everything in one column and let size, contrast and space do the work to create hierarchy.

1 reply 14 retweets 147 likes

☝️ This also provides a great space for inline helper text.

2 replies 12 retweets 144 likes

🔥 This two-column form layout is great for organizing long forms and filling wider screens without using awkward long form fields.

15 replies 205 retweets 1,517 likes

🔥 Too many borders can make a design look really busy. Here's a few ideas that are a bit more subtle:

48 replies 801 retweets 3,652 likes
Replying to

☝️ I also use this technique on secondary button outlines. Helps the button text stand out a little more:

15 retweets 210 likes

🔥 My general "safe" rule for picking gradient colours is to pick 2 hues within a 100° of each other.

3 replies 45 retweets 305 likes

Sometimes you may want to use the "danger" colour for a primary action like if you're confirming the high severity action:

1 reply 15 retweets 210 likes
Replying to

It's all about creating hierarchy. You want your primary button to stand out much more than your secondary/danger actions.

4 replies 58 retweets 527 likes

🔥 A subtle link for negative secondary actions often works better than a big bold button. (Just make sure you have a confirmation step!)

19 replies 90 retweets 619 likes

🔥 Overlapping elements on a page is a great way to create depth and encourage users to scroll

10 replies 140 retweets 1,208 likes

👈 Great resource if you're looking for high quality photography without a budget.

3 replies 13 retweets 99 likes
14 retweets 51 likes

🔥 Desaturated photo + bold color + blend-mode: multiply. Great for hero banners and creating high contrast for text.

6 replies 106 retweets 901 likes

🔥 I just published a new post: "6 Tips that Will Improve Your Typography on Your UI"

1 reply 22 retweets 83 likes

🔥 Using multiples to define your spacing is a great way to achieve vertical rhythm and provides a formula to justify your choices

2 replies 30 retweets 370 likes

🔥 Facebook is a good example of how using a dark/desaturated, matching hue for text/components can make a site feel more “glued” together:

2 replies 11 retweets 103 likes

How to make a stylish map with no graphic design skills 😘

8 replies 109 retweets 1,102 likes

🔥 Keylines are not only great for dividing content but also making disconnected content feel more connected.

2 replies 35 retweets 426 likes

😍 Another nice inspiration site featuring websites with a more minimal aesthetic:

2 replies 6 retweets 51 likes

🔥 Adding a subtle shadow to white text when on a bright background not only makes it more legible but helps it 'pop' more.

8 replies 82 retweets 1,036 likes
Replying to

☝️ This technique is great for making buttons, charts and backgrounds “pop” more on the page.

4 retweets 35 likes

🔥 Make your gradients appear more vibrant by adjusting the hue by a few degrees (10º or 20º max) in either direction.

9 replies 83 retweets 699 likes
Play

Really love the hover state on Stripe's website. 1px shift up with the increased drop shadow spread. Details like this go a long way 😍

5 replies 92 retweets 799 likes

🔥 Here's an example of how much more "designed" something can look just by being thoughtful about font size, weight, contrast and spacing:

5 replies 34 retweets 158 likes

🔥 Giving your box shadows a slight, vertical offset helps to make them look more natural.

18 replies 223 retweets 1,632 likes

🔥 Aligning text is an easy way to clean up your design and make your content much more scannable.

3 replies 71 retweets 668 likes
Replying to

But be careful when doing it on complex backgrounds as it may give it a "ghost" effect 😉

3 replies 1 retweet 22 likes
Replying to

👆 Alternatively, as mentioned, you can lower the opacity on the text for a similar effect.

3 replies 2 retweets 29 likes

🔥 Pure grey text always looks "off" on a colored background. A quick fix is to saturate your text with a bit of the background hue.

12 replies 106 retweets 1,059 likes

If I am using icons that have more weight than the text, I typically make the icons slightly lighter than the text for inactive states 👌🏼

6 replies 58 retweets 633 likes

If you need product land page inspiration, I go to both and on a daily basis 🤙🏼

4 replies 14 retweets 83 likes

🔥 Using a generic icon like an arrow or a checkmark instead of the standard bullet is a great way to add visual interest to unordered lists.

6 replies 38 retweets 650 likes
Replying to

This trick also works great on modals and, in some cases, panels. Using a 2 color gradient also adds a nice touch 👌

3 replies 18 retweets 396 likes

🔥 Adding a hint of color (4 to 6px) to the top of your hero is a simple trick to bring more liveliness to your design.

6 replies 47 retweets 816 likes

😜 A technique I've been using lately on panels to distinguish the titles instead of a keyline is using subtle contrast:

8 replies 33 retweets 412 likes

🔥 Along with size and weight, using color and contrast is a great way to create typographic hierarchy.

4 replies 18 retweets 260 likes

🤙🏼 If in doubt, 16px font with 1.5 line height is pretty good safe for body copy.

2 replies 28 retweets 417 likes

😘 Quick tip: All-caps can sometimes be difficult to read. Consider using letter-spacing to give your text a little more room to breathe

16 retweets 307 likes
9 retweets 45 likes

I love Stripe's visual design as much as everyone else. But every time I see a non-Stripe site with a skewed background I cringe a little bit (SadIy, I've been guilty of this too). BTW, incase you didn't notice, the skewed background mimics Stripe's logo:

13 replies 97 retweets 623 likes

🔥 Ever wonder how to produce this duotone color treatment to photos as seen in apps like Spotify? You can achieve this in Photoshop or Affinity Photo by using Gradient Maps. Looks great when applied to portraits 😍

16 replies 73 retweets 708 likes

🎉 Just published some new content! Our favorite tricks for improving your designs that don't require any artistic talent 🔥

14 replies 243 retweets 829 likes

🔥 Ever run into annoying CSS layout bugs that are really hard to troubleshoot? (WHY IS THERE A HORIZONTAL SCROLLBAR WHERE IS THIS COMING FROM?!?) Throw this style into your dev tools to quickly see the boundaries of every element without affecting the layout:

64 replies 678 retweets 2,081 likes

I always appreciate when a site styles the selection background and text color. I think it really shows that whoever developed it cares about the details 👌 Here's a few examples from , and

12 replies 20 retweets 252 likes

☝️ If you found this tip helpful, our upcoming book Refactoring UI has an entire chapter dedicated to keeping beautiful designs accessible. We've been sharing updates and sample chapters with people who have signed up here:

8 replies 14 retweets 178 likes

Thanks again for all the positive feedback from yesterdays talk. You can find all 251 slides here 😘

18 replies 76 retweets 440 likes