01The concept
Homestead Moving Co. is a website template for a fictional family-run moving company based in Monrovia, serving the San Gabriel Valley and beyond. The aesthetic school is "organized calm" — warm sand and deep indigo instead of the loud reds and exclamation points most moving-company marketing reaches for, because the buyer here isn't shopping on excitement. They're shopping on relief.
Moving is reliably ranked among the most stressful life events people pay money for. Nobody hires a mover because they're excited — they hire one because their life is already in boxes and they need someone to tell them, calmly, exactly what happens next.
So the whole site is built around one idea: show the plan, don't sell the muscle. Instead of stock photos of biceps and a wall of "WE MOVE ANYTHING" copy, the page itself is organized like the move's own timeline — quote, packing day, moving day, home — with a route line running down the page connecting them, and a small truck that drives it as you scroll. The design's actual job is to make a frazzled homeowner feel like someone already has this handled.
02The techniques
The route line & the driving truck
A dashed vertical line (a repeating CSS gradient, not an image) runs through the process, reviews, service-area, and quote sections. A small inline-SVG truck sits on top of it, and its vertical position is tied directly to scroll progress — not a fixed scroll-jack, just a value computed on every frame:
var target = scrollY + innerHeight * 0.42 - routeTop;
stops.forEach(function(s){
if (Math.abs(target - s.y) < PARK_BAND) { parked = true; truckY = s.y; }
});
truckWrap.style.transform = "translate(-50%," + truckY + "px)";
The milestones aren't hard-coded pixel values — they're measured live from the actual "Free Quote," "Packing Day," and "Moving Day" step numbers using getBoundingClientRect(), so the truck always parks exactly on the right stop even if the copy reflows at a smaller viewport. When the truck is within a 46px band of a milestone, it locks onto that exact position and its wheels stop spinning — a small, readable "we've arrived" moment — then releases and keeps driving once you scroll past.
Alternating timeline layout
On wide screens the three process steps alternate left/right around the centered route line using CSS order inside a three-column grid, with an empty spacer column doing the layout work so the text card always sits on the outside of the line. On narrow screens the grid collapses to a single left-aligned column and the spacer is hidden — no JavaScript reflow required, just a media query.
Reduced-motion fallback
Under prefers-reduced-motion: reduce, the scroll listener never attaches. The truck is placed once, statically, at the final "Moving Day" milestone with its wheels frozen, and all three stops are marked reached — the calm version of "you're home," delivered instantly instead of earned by scrolling.
Art-directed photography
The hero photo carries a two-part indigo scrim — a diagonal gradient plus a bottom fade — so white headline text clears AA contrast at every point it overlaps the image. The detail photo (boxes and moving blankets) sits inside a dark indigo band with a soft coral-tinted multiply wash, tying the photography back into the five-color palette instead of floating on top of it as raw stock.
Choreographed reveals
A single IntersectionObserver adds an .in class as cards, steps, and reviews enter the viewport, staggered with delay utility classes (.d1–.d6) instead of per-element timers — the same lightweight pattern used across the template set.
03Why this converts
The route line is memorable, but it's still subordinate to the funnel. These are the engineered decisions underneath it:
- The phone number appears constantly and always as a live
tel:link — header, hero, process section, quote panel, footer, and the sticky mobile call bar. A homeowner on a phone never has to type it. - Two CTAs in the hero, not one: "Call" for the person who wants to talk right now, "Get a Free Quote" for the person who wants to think first and fill out a form. Neither buyer is forced down the other's path.
- Trust strip directly under the headline: star rating with review count, license number, and years in business — answered before any scrolling, because "can I trust strangers with my grandmother's china" is the first silent question.
- A sticky mobile call bar pins "Call Now" and "Free Quote" to the bottom of every phone screen, with body padding so it never covers content. Most panic-searches for a mover happen on a phone, mid-crisis.
- The process section removes fear by naming the unknown: quote, packing day, moving day — in that order, with plain language about what each one involves. Anxiety drops when people can see the shape of what's coming.
- The form asks four things — name, phone, a service dropdown, and a move date — with a message field left optional. Every extra required field costs completions; the promise of a same-day callback closes the loop.
Note: this is a static template, so the quote form shows a client-side "thanks" state only. In production it wires to the client's CRM or inbox with the same markup and fields.
04How it was made
Hand-coded HTML, CSS, and JavaScript — no page builders, no drag-and-drop themes, no off-the-shelf frameworks. One HTML file, one stylesheet in its head, one script at its foot; the only external requests are two Google Fonts families. Every decision, from the route-line math to the four-field form, was engineered for conversion rather than pulled from a template library.
That's the Tiny Mammoth approach to a client site: build the thing a business owner can actually explain to their next hire, and make sure every pixel is either building trust or asking for the call.
05Why this one is unique
Across the template library, each site deliberately moves on four axes — palette, typography, layout, and signature — so no two feel related, even within the same trade category. Homestead's coordinates:
| Axis | This template | What sibling trades usually do |
|---|---|---|
| Palette | Warm sand + deep indigo + soft coral | High-contrast red/black urgency, or cold clinical blue |
| Typography | Heavy humanist display (Outfit) + rounded body sans (Nunito Sans) | Slab serifs for heritage trades, tight grotesques for urgent trades |
| Layout | A literal vertical timeline structure — the page is the move's schedule | Stacked full-bleed hero blocks with no structural metaphor |
| Signature | A small SVG truck that drives the route line and parks at milestones | Parallax skylines, before/after sliders, wind-sway canopies |
Movers are hired by people who are, functionally, drowning in chaos — boxes everywhere, a closing date, a toddler underfoot. The bet is that this buyer converts on perceived organization, not on perceived strength. A site that visualizes a controlled, step-by-step plan — "here's exactly what happens and when" — earns more trust than one that visualizes muscle and speed, because the fear being solved is "will these strangers handle my life carefully," not "can they lift a couch."
Concrete advantages: the timeline structure gives the page an obvious, self-explaining information architecture that a business owner can point to and say "yes, that's the order it happens in"; the truck is a single small, dependency-free rAF loop rather than a scroll-jacking library, so it costs almost nothing and degrades to a calm static image under reduced motion; and because the milestones are measured live off real DOM elements rather than hard-coded pixels, the interaction stays correct even as the client edits their own copy later.