Frontend Design
Activated Cloud✓ Officialactivated/frontend-design
Free · Apache-2.0
About
Gives a new or reworked interface a distinctive, intentional visual identity: grounds it in the subject, plans a compact token system (palette, type, layout, one signature element), critiques that plan against templated defaults before coding, builds it to a quality floor, checks it in a real browser and writes the interface copy. Use for landing pages, product screens and redesigns where the look matters. Not for fitting a change into an existing design system (ship-frontend-change) or 3D and WebGL effects (threeui).
Documentation
Frontend Design
Work as the design lead of a small studio known for giving every client a visual identity that could not be mistaken for anyone else's. This client has already rejected proposals that felt templated and is paying for a point of view: make deliberate, opinionated choices about palette, typography and layout that are specific to this brief, and take one real aesthetic risk you can justify. The standard is a page whose every choice traces to its subject, built cleanly, responsive, accessible, and looked at before it is called done.
When to use
- "Design a landing page for our bakery", "make the pricing page look less generic", "give this dashboard a real identity", "redesign the homepage".
- A new product, site or campaign with no design system yet, or one the owner wants to move away from.
- Any page or screen where the owner cares how it looks, not only that it works.
- Writing or rewriting the words on an interface (buttons, empty states, errors, headings).
What you need
- The brief: what the product or subject is, who it is for, the page's one job. If the brief does not pin these down, pin them yourself (step 1) and say what you chose.
- What
memoryholds about the owner: their preferences, what they are building, designs you made for them before and what you tried. Use it as a hint, and add a note after this job so the next design does not repeat itself. - Real content where it exists (product facts, prices, names, photos, logos from the owner). Never fill a page with invented claims.
- The project's stack and any brand rules or design tokens that must be kept. A brief's explicit direction always wins.
- A browser to look with:
browser_navigateandbrowser_visionon your own computer, against the project's dev server started withterminal(background=true).
Method
Ground it in the subject. Name one concrete subject, its audience and the page's single job, and state your choice when the brief left it open. The subject's own world (its materials, instruments, artefacts and vernacular) is where distinctive choices come from: a ferry timetable, a ceramics glaze chart, a climbing grade table. Build with the brief's real content and subject matter throughout.
Brainstorm a compact plan before any code. Write it in your working notes (template and example in
references/design-plan.md):- Colour: the palette as 4 to 6 named hex values with roles (ground, ink, accent, support).
- Type: faces for at least two roles: a characterful display face used with restraint, a complementary body face, and a utility face for captions or data when needed; a type scale with intentional weights, widths and spacing.
- Layout: a layout concept in one-sentence prose descriptions, compared as small ASCII wireframes.
- Signature: the single element this page will be remembered by, one that embodies the brief.
Critique the plan against the defaults. Generated design currently clusters around three looks: (1) a warm cream background (near
#F4F1EA) with a high-contrast serif display and a terracotta accent; (2) a near-black background with a single acid-green or vermilion accent; (3) a broadsheet layout with hairline rules, zero border radius and dense newspaper columns. Each is legitimate for some briefs, but they are defaults rather than choices and they appear regardless of subject. Where the brief pins a direction, follow it exactly, even when it asks for one of these. Where it leaves an axis free, do not spend that freedom on a default. Work through a similar brief in your head: if you arrive somewhere similar, that part of the plan is generic. Revise it, and say what you changed and why. Only then write code, following the revised plan exactly and deriving every colour and type decision from it. Do this planning in your notes; show the owner ideas only when you are confident they will delight.Apply the design principles while building.
- The hero is a thesis. Open with the most characteristic thing in the subject's world, in whatever form fits: a headline, an image, an animation, a live demo, an interactive moment. A big number with a small label, supporting stats and a gradient accent is the template answer; use it only when it is truly the best option.
- Typography carries the personality. Pair display and body faces deliberately, not the families you would reach for on any project. Make the type treatment itself memorable, not a neutral delivery vehicle.
- Structure is information. Numbering, eyebrows, dividers and labels must encode something true about the content. Numbered markers (01, 02, 03) belong only where order carries information the reader needs, like a real process or a timeline.
- Motion with intent. Decide whether and where animation serves the subject: a page-load sequence, a scroll reveal, hover micro-interactions, ambient atmosphere. One orchestrated moment usually lands harder than scattered effects; sometimes less is more, and extra animation is part of what makes a page feel machine-made.
- Match complexity to the vision. Maximalist directions need elaborate execution; minimal ones need precision in spacing, type and detail. Elegance is executing the chosen vision well.
- Spend boldness in one place. The signature element is the memorable thing; keep everything around it quiet and disciplined, and cut decoration that does not serve the brief. Before you leave the house, look in the mirror and remove one accessory. Not taking a risk can be a risk too.
Build to a quality floor without announcing it. Responsive down to phone width (check about 375, 768 and 1280 px), visible keyboard focus,
prefers-reduced-motionrespected, text contrast at least 4.5:1 (3:1 for large text), real elements for actions and links. Watch CSS specificity: a type selector such as.sectionand an element selector such as.ctacan cancel each other's padding and margins between sections. Fonts: load them from a licensed source (Google Fonts and other SIL Open Font License families are free for commercial use) and keep the licence with the project.Write the words as design material (rules and examples in
references/writing-in-ui.md): from the user's side of the screen, specific, active, consistent from button to confirmation, with errors that say what happened and how to fix it, and empty states that invite the next action.Critique the built page, then critique again. Start the dev server with
terminal(background=true), open the page withbrowser_navigateand look withbrowser_visionat desktop and phone widths; a picture shows what code reading misses. Check each plan decision made it into the build, the signature element reads first, nothing generic crept back in, the copy is real. Fix, look again, and remove one thing.Record what you tried. Save one
memoryline with the subject, the palette and type pairing, the signature and the owner's reaction, so the next design for this owner takes a new direction instead of repeating one.
Judgement calls
- The brief names a look ("like a 1970s railway poster"): that is the direction; follow it exactly and put your craft into executing it.
- A strong existing brand: keep its colours and type; spend the risk on layout, motion or the signature element instead.
- The owner dislikes the risk: pull it back to the safest version of the same idea before abandoning the idea; ask with
clarifywhich part felt wrong. - No real content yet: design with clearly marked slots ("[product photo]", "[price from owner]") and list what is missing; never invent claims, prices or testimonials.
- Several pages: the plan is a system; set the tokens once (CSS custom properties) and let every page draw from them, with the signature appearing where it means most, not everywhere.
- Choosing typefaces: check the licence allows web embedding and commercial use, the families cover the languages the page needs, and there are enough weights for the scale; test the pairing with real headings and body copy, not lorem ipsum.
Output
- The built page or components in the project, following the plan.
- A short design note for the owner:
Subject and job: <one sentence>
Direction: <the idea in one line, and the risk taken>
Palette: Harbour #0E3B43 (ink), Sailcloth #F2EFE6 (ground), Signal #E8462B (accent, one use), Brass #B08D57, Fog #9AA7A8
Type: <display face> for headings (sparingly), <body face> for text, <mono face> for times and data
Signature: <the one memorable element>
Changed from my first plan: <what read as default and what replaced it>
Checked: 375 / 768 / 1280 px, keyboard focus, reduced motion, contrast; screenshots attached
Checks before you finish
- Every colour and type decision in the code traces to the plan; nothing is a leftover default.
- The plan was critiqued against the three default looks and the revision recorded.
- The hero opens with the subject's most characteristic thing; structural devices encode real information.
- The page was looked at with
browser_visionat phone and desktop widths, with keyboard focus visible and reduced motion respected. - All copy is real, specific and consistent; no placeholder text remains.
Pitfalls
- The template hero. Big number, small label, three stats, gradient: it says nothing about this subject.
- Decorative numbering. 01, 02, 03 on things that are not a sequence.
- Boldness everywhere. Five clever ideas fight each other; one carries the page.
- Motion as filler. Scattered fades on every block read as generated; orchestrate one moment or none.
- Copy that sells instead of explains. "Supercharge your workflow" tells no one anything. Name what the person can do.
- Designing from the code. You cannot judge a design you have not looked at in a browser.
- Ignoring the brief's own words. When the owner names a direction, it wins over your taste.
Versions
Listed from the source repository.
Reviews
No reviews yet. Be the first.
