Design systems

Let the AI build it. Do not let it design it.

Swivl's AI Website Builder makes websites for plumbers, electricians and other home-service businesses. I designed the building blocks it uses, so every site it makes looks good from the start.

Role

Sole product designerFrom problem to handoff

Client

SwivlLocal trade businesses

Scope

Templates and the builderBooking flow and components

Shipped

V2.0 · 2025Built with engineering

The templates

Every section comes in four versions, each for a different kind of business.

Some businesses have great photos, some have none. Some offer two services, some offer eight. Each version is made for one of those cases. All ten sections are below, for web and mobile.

Header templates board, web and mobile web. Four desktop headers, two on white and two on the violet brand ground, with and without nav icons, then each with its Services mega-menu open, listing laundry, grocery and pet-care services. Beside them, four mobile headers, closed and with the menu drawer open.
Header
Home templates board, web and mobile web. The four hero variants, all headlined Bright Solutions, Skilled Hands at Work: a full-bleed photo with centred text, photo left with text right, the mirror of that, and centred text over a photo collage. Each is shown at desktop and at wide desktop, beside the four mobile versions.
Home
Services templates board, web and mobile web. Four service-grid templates, headed Learn About Our Primary Services: icon cards, photo cards, a split layout with photo tiles, and a compact icon list. Each is shown by default with a card in its hover state, and again with only two or three services, beside the four mobile versions.
Services
Media templates board, web and mobile web. Gallery templates headed Here is our works: grids of ten and fifteen photos with View more and View less, a two-photo layout and a mixed mosaic, then the full gallery overlay and the single-image preview, and the mobile version of each.
Media
Reviews templates board, web and mobile web. Four Our Customer Feedback layouts with star ratings, as carousels and grids, and their mobile versions. Below, the Write a Review pop-up on web, empty and filled, the success pop-up, and the mobile review form in default, filled, toast-message and keyboard-raised states, with its field states.
Reviews
About us templates board, web and mobile web. Four Why Choose Us? layouts pairing a short paragraph with a team photo: text left, photo left, on a tinted band, and centred above the photo, beside the four mobile versions.
About us
Testimonials templates board, web and mobile web. Four What's true? layouts: a single quote card, two cards side by side, a large portrait beside a quote, and a row of four customer portraits, with carousel arrows or dots, beside the four mobile versions.
Testimonials
FAQ templates board, web and mobile web. Four Frequently Asked Questions accordions: centred, centred with plus icons, two columns with a contact prompt, and a numbered list, each with one question expanded, the four mobile versions, and the item states.
FAQ
Contact info templates board, web and mobile web. Four Have other questions? layouts, two on the violet brand ground and two on white, one with an inline request form; the Contact Us pop-up form and its Request sent toast; hover states, the form error states and the country-code dropdown; and the mobile versions, including the form with the keyboard raised.
Contact info
Footer templates board, web and mobile web. Four footers: a single-row minimal footer and a four-column footer with Explore, Services and Contact info, each on white and on the violet brand ground, and their four mobile versions.
Footer
Navigation bar sheet, web. The header menu in four variants: T-1 and T-2 on white, T-3 and T-4 on the violet brand ground; T-1 and T-4 carry icons, T-2 and T-3 are text only. Each shows Home and a Services dropdown in default, hover and active states. Below, a header submenu item, Laundry Service, in default, hover and active.
Navigation bar sheet, mobile web. The same four header variants, T1 to T4, in default, pressed and active states, and the header submenu in default, pressed and active. Then the opened Services submenu in all four variants, two on white and two on violet, listing trades such as Plumbing, Carpenter Works, Electrician Work and Cleaning, with the pressed row highlighted.
Buttons sheet, web and mobile web. Primary, secondary, ghost and link-text buttons in md, lg and extra-large sizes; social media buttons for Facebook, Instagram and X on white and on violet; hamburger, close, edit and arrow icon buttons in default and pressed. Then every button type in default, hover, active or pressed, and disabled states, on white and on the violet brand ground, and the carousel slider dots.
Ten choices

A full page is just ten picks, one for each section.

I built a complete sample page to prove the pieces fit together on phone, laptop and large screens. Nothing custom - just ten choices from the library, stacked.

HeaderT1
HeroT1
ServicesT4
MediaT2
ReviewsT1
AboutT4
Testim.T3
FAQT2
ContactT1
FooterT3
How many pages it can make 3,145,728

different pages, from 10 sections, 38 layouts and 6 colour themes.
The layout of every one is already approved, because each section
is always one of the 38 layouts I drew and checked.

That is the whole idea. Each new layout adds many more pages, but only one more thing to check.

Checked on
Phone
360 px
Laptop
1440 px
Large screen
1920 px

I rebuilt the full page at 1920 px instead of assuming it would stretch. Wide screens are where hero sections usually break.

Why it is hard

Templates break as soon as real content goes in.

A plumber has job photos and no idea what a grid is. Most templates expect six services and professional photos. Add only three services and there is a gap. Use a dark photo and the headline disappears.

So I changed the job

I didn't design one website. I designed a set of pieces the AI can put together in any order, and checked that every mix still looks right.

If you let the AI design freely, it breaks in a new way every time and nothing catches it. So the rest of this page is about three things: what can change, what stays fixed, and where the AI gets a say.

The one rule

The AI writes the content. It never touches the layout.

I designed the layout, spacing, type and colours, and locked them. The AI only fills in words and images, in spaces already made for them.

What the AI does

  • Writes headlines and text, with Generate
  • Rewrites existing text, with Improvise
  • Suggests different images

The same two buttons sit on every text field, so people only learn them once.

What stays locked

  • Which layouts exist, and how each one is built
  • Page width, margins and columns
  • Font sizes and spacing
  • Colours and text contrast
  • Every hover, pressed and disabled state
Real content

The real test is a business with only two or three services.

Six services are easy to lay out. Three is the hard one. So every template has a version for fewer items, and it still looks planned.

Six services

The easy case every template is designed for: two rows of three.

3 per row · 416 px cards

Three services

Two on top, one centred below. This is the case that shows whether the templates feel finished.

2 per row · third one centred

Two services

Two side by side. A small business still gets a page that looks planned, not half-empty.

2 per row · 636 px cards

Colour & type

Colour themes change the look, but never break the layout.

There are six colour themes over one page design. A theme changes only four things. Everything else stays fixed, so no theme can break a page.

What a theme changes
  • Button colours
  • The big call-to-action band above the footer
  • One light background tint
  • Link colour and the logo
What never changes
  • Layout, grid and section order
  • Background, card, border and text colours
  • Fonts, spacing and corner shapes
  • Star ratings and status colours
Colour palette and fonts sheet for the Website Builder templates. A palette picker offers six primary and secondary pairs: violet with slate blue, teal with green, blue with sage, near-black with charcoal, plum with brown, and terracotta with tan. Below it, the six primaries at 100% with the violet at a 10% tint, the six secondaries at 100% and at 10% opacity, and six base colours: text foreground, text muted foreground, text on-colour, background and two accents. A fonts column sets Manrope from H1 to H5, then text-body-xxl down to text-body-s.
The builder

Owners edit their site using the same sections I designed.

There is no prompt box. Each section has its own simple panel. A section can be a block on the page, a menu item, or a page of its own. Learn it once, use it three ways.

  1. 01

    AI help sits on each field

    Generate and Improvise appear only on text and image fields, so people always know what the AI is about to change.

  2. 02

    Switch sections on or off, drag to reorder

    The header and footer share one menu, so turning a section off removes it from both.

  3. 03

    Each service has a short and a long description

    The short one, up to 100 characters, goes on the card. The long one goes on the service's own page.

  4. 04

    Buttons link to sections, not web addresses

    You pick a section or page from a list instead of typing a link, so a button can never lead nowhere.

Booking

Booking turns the website into a way to get jobs.

A plumber needs jobs, not just a website. Booking is a three-step form you can open from the menu, the top of the page or any service. It collects everything the job needs, even photos of the problem.

Pick a time

1/3

Choose a day, then a time - morning, afternoon, evening or night, in half-hour slots.

Contact details

2/3

Name, email, phone and address. The time you picked stays on screen, and you can change it.

Job details

3/3

Describe the problem and add photos, videos or files, so the plumber can give a price before driving over.

Earlier answers stay on screen

Each finished step shows up as a small chip on the next one. You can fix the time on step three without starting over - a common reason people give up on long forms.

Designed for when things don't go to plan

  • The calendar open, and “Select Today” pressed
  • The phone form with the keyboard open
  • An “Are you sure you want to close?” check, on web and mobile
  • A success screen that repeats the booking back
Process

I check my own work with a checklist before handoff.

24 checks in five areas, done before the design goes to engineering. Handoffs go wrong in the same ways every time, and a checklist is cheaper than fixing things later.

Product & flow5

Happy and unhappy paths, ways in and out, edge cases, knock-on effects, and the problem itself.

UI consistency5

Options explored, following the system, icons and brand tone, the grid, and hover and pressed states.

Accessibility4

Contrast, tap-target size, keyboard and screen-reader use, and motion.

Documentation6

Linked flows, clear specs, components used properly, named versions, reasons written down, and a tidy file.

Review4

Peer and lead review, stakeholder sign-off, a check with developers, and a final walkthrough.

What's next

What I would fix in the next version.

Version 2 proved the idea works. Version 3 should let it grow without a designer redoing things by hand.

  1. Turn colour themes into settings

    Today the six themes are six recoloured copies of one page. They should be one set of colour settings, so a seventh theme is quick to add - and the AI can match a brand it has never seen.

  2. Fix text contrast for each theme

    One rule puts white text on every main colour. On at least two themes, small labels end up hard to read. Each theme needs its own text colour.

  3. Design the missing states

    Hover, pressed and disabled are done. Keyboard focus, loading, empty and error are not - and a live site needs them. An empty gallery is a real screen.

  4. Add a tablet size

    The designs jump from 1440 px to 360 px. For a product that promises sites that work on every screen, tablets can't be left to guesswork.