Issue 14 · Autumn
A field guide to renting, furnishing and living well in under thirty square metres.
Pick a face with a point of view, not Inter, Roboto or Arial.
From frontend-design: avoid Arial and Inter; never converge on Space Grotesk.
Type a headline and switch faces. Only the typeface changes.
Issue 14 · Autumn
A field guide to renting, furnishing and living well in under thirty square metres.
Issue 14 · Autumn
A field guide to renting, furnishing and living well in under thirty square metres.
@font-face {
font-family: "Fraunces";
src: url("/fonts/fraunces-var.woff2") format("woff2");
font-weight: 100 900;
font-display: swap;
}
:root {
--display: "Fraunces", "Iowan Old Style", Palatino, serif;
}
.hero-title {
font-family: var(--display);
font-weight: 600;
font-variation-settings: "opsz" 144, "SOFT" 50;
letter-spacing: -0.02em;
}
Pick the card that already feels like a brand.
Pick a tone and press Generate five times.
Press Generate
distinct: 0 / 0Press Generate
distinct: 0 / 0const POOLS = {
luxury: ["Bodoni Moda", "DM Serif Display", "Cinzel", "Instrument Serif"],
brutalist: ["Bricolage Grotesque", "Zilla Slab", "Barlow Condensed"],
technical: ["IBM Plex Mono", "Syne", "Barlow Condensed"],
};
function pickFace(tone, recent) {
const pool = POOLS[tone];
const fresh = pool.filter((f) => !recent.includes(f));
const from = fresh.length ? fresh : pool.filter((f) => f !== recent[0]);
return from[Math.floor(Math.random() * from.length)];
}
Type is the largest surface on most screens; the face signals intent first.
system-ui on purpose