StealThis .dev
Pages Easy

DIY — Crafts & Handmade Landing

A warm, tactile landing page for a fictional crafts community and supply shop, built with plain HTML, CSS and vanilla JavaScript. It pairs a blush hero with floating hand-drawn SVG doodles, filterable craft category tiles, tutorial cards with torn-paper illustration edges and yarn-ball difficulty ratings, a live supplies kit builder with running total and free-shipping threshold, a seasonal makealong band with an animated SVG progress ring, a keyboard-accessible community gallery lightbox, and a newsletter form with inline validation.

Open in Lab
html css vanilla-js
Targets: JS HTML

Code

Crafts & Handmade Landing

Little Loom Studio is a fictional crafts community and supply shop. The page opens on a blush gradient hero where a small cluster of hand-drawn SVG doodles — scissors, a yarn ball, a paint brush and a threaded needle — drift slowly behind the headline. Below it, six craft tiles (knitting, embroidery, paper, candles, pottery, resin) act as a single-select filter for the tutorial grid, each with its own stroke-drawn icon and a count.

The tutorial cards carry a generated SVG illustration area with a torn-paper bottom edge, a maker chip with initials avatar, a time badge, difficulty expressed in one-to-three yarn-ball icons, and a bookmark toggle. A “Saved only” switch narrows the grid to what you bookmarked. The supplies card is a working mini basket: tick items and the badge count, kit total and the distance-to-free-shipping line all update instantly.

The seasonal makealong band shows week 3 of 6 on an SVG progress ring that animates once it scrolls into view, next to a week-by-week checklist and a participants count. The community gallery expands any make into a focus-trapped lightbox with arrow-key and Escape support, and the footer newsletter validates the address as you type, on blur and on submit.

How this look is built

The soft, handmade feel comes almost entirely from CSS rather than assets: the torn-paper edges are a repeating radial-gradient used as a mask on a solid strip, so the notches stay crisp at any width and inherit the section background through a custom property — far cleaner than the old trick of slicing a PNG zig-zag or stacking rotated pseudo-elements. Card frames use an inset dashed pseudo-element for a stitched look, and the headline highlight is an irregular border-radius blob rather than an image. The makealong ring is a single SVG circle whose stroke-dasharray equals its circumference with the offset animated from full to half, kicked off by an IntersectionObserver so it only plays when seen. Card art is generated at runtime from a deterministic sine-hash so every tutorial gets a distinct but stable illustration with zero network cost. Watch two things: the floating doodles animate transform only (never layout properties), and every continuous animation is cancelled under prefers-reduced-motion: reduce, including the ring transition and the card entrance stagger.

Illustrative UI only — always follow real safety guidance when working with tools, electronics, or repairs.