Editorial / SEO — 2026

Deep In Cars

A car magazine that had to feel like the cars.

A cinematic single-page publication, a repeatable post template, and a private dashboard so the writing never waits on a developer.

Mandate
Site, editorial system, admin
Role
Design, build, deployment
Stack
Static HTML · GSAP · Three.js · Express
Live
deepincars.com ↗
The Deep In Cars homepage
01 — In short

The short version

Where it startedA crowded shelf

Car content is one of the most contested corners of search. A standard blog theme would have put it on the same shelf as everyone else — same layout, same pace, same three seconds before someone leaves.

What I didBuilt it like a film

The homepage is scroll-driven from the first frame: a video that scrubs with the wheel, panels that pin and slide, and a real 3D car you can turn. Underneath it, a fixed post template so every article is structurally identical and legible to a crawler.

Where it landedIt publishes itself

Posts go live from a dashboard, not a deploy. Views, countries and referrers are recorded first-party. The 3D model ships at a tenth of the size it arrived as.

02 — The project

Three decisions

01

Make the homepage behave like a film, not a feed

The hero is an MP4 scrubbed by scroll position rather than played — you are driving the footage, not watching it. Below it the category panels pin and pass diagonally, and the content stream runs horizontally while the page scrolls down.

Every section is z-stacked so each one covers the last instead of sliding past it. The effect is a sequence of shots rather than a list of blocks.

  • Scroll-scrubbed video
  • Pinned panels
  • Horizontal stream
  • GSAP ScrollTrigger
02

Put a real car in the browser, and make it light enough to load

The Porsche section is a genuine 3D model, not a sprite sequence. It arrived as a 21MB GLB, which is unusable on a phone. Compressed with Draco geometry and WebP textures it ships at 2.4MB.

Mesh simplification stayed switched off on purpose — all 723,000 vertices are still there. Decimating the body ruined the specular highlights, and on a car the bodywork is the product. The camera is a keyframe rig rather than a linear sweep, so each beat of the scroll lands on a composed angle.

  • Three.js
  • Draco
  • WebP textures
  • 21MB → 2.4MB
  • Keyframed camera
03

Publishing has to be a form, not a deploy

A publication that needs a developer to post is a publication that stops posting. The admin is a small Express app behind a login: write the post, hit publish, it is live.

There is no database. Views append to a flat log, which is enough for the question actually being asked — what got read, from where. Real visitor IPs come from Cloudflare's header, then a local geo lookup; nothing is sent to a third party.

  • Express
  • PM2
  • Append-only log
  • Cloudflare-aware
  • No third-party analytics
03 — Under the hood

What it actually does

Scroll-scrubbed hero

An MP4 driven frame by frame from scroll position instead of played on a timer.

3D model viewer

A 723k-vertex GLB with a keyframed camera rig, Draco-compressed and WebP-textured.

Post template

One fixed structure every article is poured into, so the markup stays search-legible.

Private dashboard

Login, write, publish. Views today / 7d / 30d, top countries, pages and referrers.

First-party analytics

Real IP via Cloudflare, geo resolved locally, stored as a flat append-only log.

Command centre

A short list of safe, curated maintenance actions — never a shell.

04 — The result

Where it landed

Publishing
Articles go live from the dashboard. No deploy, no developer, no waiting.
Weight
The 3D section loads 2.4MB instead of 22MB, with the full mesh intact.
Measurement
Traffic is recorded first-party — country, city, page, referrer — with nothing handed to a third party.
Structure
Every post shares one template, so new articles are consistent for readers and for crawlers.

Traffic figures live in the site's own dashboard rather than on this page — ask me for the current numbers.

Deep In Cars homepage
Next project

Weston Moneyhan