Graphic Design · GPC-32

Website Design with Refactoring UI

Website Design with Refactoring UI is a course in making web pages look better and easier to use with techniques from a developer's point of view, covering visual hierarchy, spacing systems, type scales, HSL and OKLCH colour palettes, shadows and CSS design tokens, with no artistic background needed. It suits people who build their own websites, frontend developers and UX/UI designers.

Updated
From 5,850 THB / person 6,500 −10% excl. VAT 7% · group rates available
PDFDownload the course outline
  • Duration12 hours · 2 days
  • FormatOnsite / live online
  • Next roundOn request
  • CertificateIncluded

Course overview

Many developers build web pages that work perfectly well yet still look cluttered, hard to read or untrustworthy, and they are not sure what to fix. The Refactoring UI approach closes this gap with practical techniques from a developer's point of view, such as creating hierarchy with font weight and colour rather than size alone, defining spacing and type scales in advance, and choosing colours from a prepared set of shades, so you can make pages look better and easier to use without any artistic training.

This course practises those principles with current CSS: hierarchy, spacing and layout with Grid and Flexbox, a fluid type scale with clamp(), and design tokens with CSS custom properties, through to building palettes with HSL and OKLCH, checking contrast against WCAG 2.2, dark mode with light-dark(), creating depth with shadows, working with images and finishing details. It closes with a before-and-after workshop on a real web page.

What you’ll gain

  • Explain the Refactoring UI way of thinking and identify what makes a page cluttered or hard to use
  • Create information hierarchy with size, weight, colour and spacing
  • Define a spacing system, type scale and design tokens with CSS custom properties
  • Build colour and grey palettes in HSL and OKLCH that meet WCAG 2.2 contrast requirements
  • Use shadows, images and details such as empty states to give pages depth and clarity
  • Rework a whole real page systematically and explain the reasons for each change

Who this course is for

  • People who build their own websites and want them to look more professional
  • Frontend and full-stack developers who design screens themselves without a designer
  • UX/UI designers who want to set up design tokens developers can use directly
  • Students and IT staff with a basic knowledge of HTML and CSS

Prerequisites

  • Able to write basic HTML and CSS, such as selectors, the box model and Flexbox
  • Some basic knowledge of web design
  • No art or graphic design background is needed
  • A laptop that can run VS Code and a current web browser

Curriculum

Course Details

This course is the 2026 edition of Website Design with Refactoring UI, rewritten to spend all its time on UI design principles and current CSS. It runs for 2 days, 6 hours per day (12 hours in total, 09:00-16:00), as lectures with labs on a starter HTML and CSS project, at Beginner to Intermediate level. Day one practises hierarchy, spacing and layout, typography and design tokens. Day two covers HSL and OKLCH palettes, WCAG 2.2 contrast, dark mode, shadows, images and finishing details. The course draws on the ideas in the book Refactoring UI with newly written exercises, and is not an official course from its authors. Learners take home the reworked project, a tokens.css file and a page review checklist.

Day 1 Hierarchy, Spacing and Typography

Section 1: Lab: The Refactoring UI Way of Thinking

  • What Refactoring UI is, and why developers can design good screens without artistic training
  • Start with the feature, not the layout, and design in greyscale before adding colour
  • Limit your choices with systems instead of deciding afresh every time
  • Set up the starter project in VS Code and experiment with CSS in DevTools
  • Lab: review a sample page and list what makes it cluttered or hard to use

Section 2: Lab: Information Hierarchy

  • Create hierarchy with font weight and colour, not size alone
  • Emphasise by de-emphasising what is around it
  • Drop unnecessary labels, and separate HTML semantics from visual order
  • How primary, secondary and destructive buttons should differ
  • Lab: rework a user profile card and a product list so they are easier to read

Section 3: Lab: Spacing Systems and Layout

  • A limited spacing scale, and starting with too much white space then reducing it
  • Space between groups should be larger than space within a group
  • You do not have to fill the screen: set a sensible maximum content width
  • Responsive layout with CSS Grid, Flexbox and gap
  • Lab: rework a settings form and a detail page with a spacing scale

Section 4: Lab: Designing Text

  • A limited type scale and fluid type with clamp()
  • Choosing readable fonts, including Thai fonts with several weights
  • Line length in ch units, line height by font size, and alignment
  • Letter spacing for headings and capitals, and styling links
  • Lab: set a type scale for an article and a landing page

Section 5: Lab: Design Tokens with CSS Custom Properties

  • What design tokens are: spacing, font sizes, colours, radius and shadows
  • Naming tokens so they are meaningful and shared across the team
  • Declaring tokens as custom properties and using them across the site
  • Linking tokens to Figma variables or a Tailwind CSS theme
  • Lab: create a tokens.css file and apply it to the sample page
Day 2 Colour, Depth, Images and Finishing Details

Section 6: Lab: Building Palettes with HSL and OKLCH

  • Why HSL and OKLCH are easier than HEX when adjusting lightness
  • Build around 9 to 10 shades of the main colour, plus status colours
  • Greys with a slight tint so the page feels alive
  • OKLCH, relative colour and color-mix() for generating shades in code
  • Lab: build a sample brand palette and replace every colour on the page

Section 7: Lab: Contrast, Accessibility and Dark Mode

  • WCAG 2.2 contrast: 4.5:1 for normal text and 3:1 for large text
  • Never rely on colour alone, and design clearly visible focus states
  • Dark mode with color-scheme and light-dark(), not just inverted colours
  • Checking with DevTools and Lighthouse
  • Lab: fix faint, hard-to-read text and add dark mode to the sample page

Section 8: Lab: Creating Depth with Light and Shadow

  • A consistent light source and its effect on top and bottom edges
  • A shadow scale for the elevation of elements
  • Two-part shadows that look natural
  • Flat depth with colour, and overlapping elements
  • Lab: give dropdowns, modals and cards a clear elevation order

Section 9: Lab: Images and Finishing Details

  • Keep text over images legible with overlays, reduced image contrast or text shadow
  • aspect-ratio and object-fit for user-uploaded images, and sensible icon sizes
  • Use fewer borders: separate with shadows, backgrounds or spacing instead
  • Accent borders, subtle background patterns and empty states that invite action
  • Lab: rework the hero section, a table and an empty list page of the sample system

Section 10: Workshop: A Before-and-After Page Rework

  • Workshop: choose a landing page, a dashboard or a page from your own website
  • Review it with the checklist, then improve hierarchy, spacing, typography and colour in turn
  • Test on mobile and check contrast and dark mode
  • Present the before and after, explaining the reason for each change

Schedule & training options

For individuals — public rounds

No public rounds are open right now. Join the waiting list and we will contact you first when the next round opens, or ask us on LINE. Or call 02-570-8449 or 088-807-9770

For organisations — in-house / private

  • Tailor the content to your team’s tools and projects
  • Your dates, at your office or live online
  • Quotation with tax ID for procurement
Corporate training quote

Instructors

Frequently asked questions

What is Refactoring UI, and how does it make web pages look better?

Refactoring UI is an approach to interface design from the book by Adam Wathan and Steve Schoger, built on practical techniques rather than art theory. Examples include defining spacing and type scales in advance, creating hierarchy with font weight and colour rather than size, using light and shadow for depth, and picking colours from a prepared set of shades. It lets developers make pages tidier and easier to use without artistic training. This course builds new exercises on those ideas with current CSS.

How do you set up a spacing system and type scale for a website?

Start with a limited set of spacing values, such as 4, 8, 12, 16, 24, 32, 48 and 64 pixels, and use only those rather than choosing values one at a time. Then define a type scale of sizes for headings, body text and secondary text, use clamp() so headings adapt to screen width, and declare both as CSS custom properties so they are reused across the site. Space between groups should be larger than space within a group, so users can see what belongs together.

Why define web colours with HSL or OKLCH instead of HEX?

HSL splits a colour into hue, saturation and lightness, so you can see what colour it is at a glance and make it lighter or darker by changing one value. OKLCH, supported by current browsers, has a lightness value much closer to human perception, so shades stay more consistent when you change the base colour. To build a palette, put the base colour in the middle, create around 9 to 10 lighter and darker shades, do the same for greys, and check text contrast against WCAG.

How is this course different from the Tailwind CSS or Figma courses?

This course teaches the design principles: what to change and why, such as hierarchy, spacing, typography, colour and shadow, practised with standard CSS that works with any framework. The Tailwind CSS course focuses on utility classes and the Figma course on the design tool itself. The design tokens you create here can be turned straight into a Tailwind theme or Figma variables.

Who is the Website Design with Refactoring UI course for, and what should I know beforehand?

It suits people who build their own websites, frontend developers, UX/UI designers, students and IT staff who want their sites to look better. You should be able to write basic HTML and CSS, such as selectors, the box model and Flexbox, but no artistic training is needed. If you have never written HTML and CSS, take Basic HTML+CSS first.

Can the Website Design with Refactoring UI course be run in-house for our team?

Yes. It can be run in-house for your team, with examples adapted to your own work, such as reworking pages or systems your team already maintains. You can request a quotation from this page, or contact us on LINE @itgenius or by phone on 02-570-8449.