SD inkwork.studio · Portfolio
Home

Case Study 01

sydwebdesigns.com

The site you're reading right now. Even the hero behind this text is a sketch. Every claim on this page is checkable with dev tools.

Start a project

This one is my own site. You're reading it right now.

That means you can check every claim on this page with dev tools.

Most portfolios ask you to take the work on faith. This one doesn't.

The problem

I built a site that looked good and did nothing. Three things were broken. All three looked finished, threw no errors, and quietly failed.

A · read

Nobody could read it.

The hero was a scroll film. 300 frames of ink, the best-looking thing on the site, and the reason nothing legible sat above the fold. A cold visitor couldn't answer "do I care" without committing first.

B · found

Nobody could find it.

I searched the live HTML for "inkwork.studio", "sydwebdesigns", and "syd". Zero matches. The site never said its own name.

  • No <h1> (the main heading) at all. The outline started at <h2>.
  • robots.txt and sitemap.xml (the files that tell search engines what to index) both 404'd.
  • No canonical tag (the one that tells Google which URL is the real one), with apex and www both serving 200.
  • No Open Graph tags (the ones that control how a shared link looks). Every share rendered as a grey link.
  • No structured data (the markup that shapes the search result).

C · contact

Nobody could contact me.

The form was a mailto: handoff (a link that opens the visitor's email app). No mail client means the click does nothing, silently. The lead evaporates and neither of us finds out.

Underneath, a second bug: pressing Enter submitted a form with no action. Page reload, everything typed gone.

Three ways a site can look finished and still not work.

What I built

One self-contained HTML page. No React, no build step, no CMS. GSAP and Lenis from a CDN. Deployed by git push.

01

Static hero: one still, no scroll mechanic. Film engine deleted.

02

Full search rebuild. Title, single H1, canonical, Open Graph, Twitter cards, JSON-LD ProfessionalService (search markup), robots.txt, sitemap.xml, lang="en-AU" (the language tag).

03

Real form endpoint, with a fallback and the keyboard bug fixed.

04

GA4 (Google Analytics, the visitor counter), so the next version of this page has numbers in it.

The decisions, and why

Anyone can list what they built. What you're paying for is how someone decides.

01

I deleted the best-looking thing on the site

The film wasn't slow. I measured it: 95% of frames rendered within 17.7ms, the worst at 44.3ms, against a 50ms ceiling. It passed. I removed it anyway.

A hero has one job: let someone decide if they care without scrolling. Keeping the film meant choosing what I was proud of over what works.

Deleting it removed the whole failure surface. The replacement is a still. The strip below is what got cut.

Frame 1 of the deleted film: the ink reel opens.
frame 001 · the reel opens
Frame 66 of the deleted film: ink hitting paper at impact.
frame 066 · the impact
Frame 100 of the deleted film: a settled pool of ink, low in frame.
frame 100 · the quiet frame
Frame 300 of the deleted film: the reel closes in ink.
frame 300 · the close
02

I shipped the quiet choice

300 frames to choose from. The obvious pick was frame 66: impact, ink hitting paper, splashing. The quiet pick was frame 100: a small settled pool, low in frame, most of the canvas empty cream.

The film went. The composition stayed. The hero as shipped is a generated still: a pen writing "Hello" in blue ink on cream, subject right, cream left. The final form of the quiet frame, not the frame itself. One image instead of 300 frames.

Impact grabs. Restraint reads as confidence. Quiet was the choice, not the fallback. The hero keeps the upper left empty for the headline and button, just like frame 100 did. The composition reason and the engineering reason agreed. That's usually the sign of a correct call.

Frame 66 of the deleted film: ink hitting paper at impact.
frame 66 · the obvious pick
Frame 100 of the deleted film: a small settled pool, low in frame, most of the canvas empty cream.
frame 100 · the quiet pick
The hero as shipped: a fountain pen writing "Hello" in blue ink on cream paper, subject right, cream left.
the hero as shipped · the quiet choice
03

I kept the brand out of the H1 on purpose

The search problem: the page never said "inkwork.studio". The reflex is to jam the brand into the biggest heading.

I didn't: the H1 stayed as the line that sells, and the brand went into the title, the eyebrow, the chrome, the footer and the JSON-LD. Nine mentions, none costing the one sentence a human reads first.

Search engines and visitors want different things from that element. Serve both by being deliberate about which signal goes where.

04

I made the form fail loudly

The form posts to a real endpoint. The mailto: survives only as the fallback, and the button says so.

An enquiry always has a route, and if something breaks the visitor gets told.

A silent failure on a lead form is the worst bug a small business site can have. The business never finds out.

05

I measured instead of guessing

Going to 4K meant doubling the pixel ratio cap. I didn't assume it would hold: I tested at DPR 2 (double pixel density) against the 1080p baseline. The 95% figure held. The worst case went 21.3ms to 44.3ms, still under the ceiling.

I wrote the rollback down in advance: if a later change eats the headroom, step the cap to 1.5 before reverting.

Decisions with a documented way back are cheaper than decisions defended by memory.

The result

Honest version: this launched on 2 August 2026. There's no traffic data yet. Analytics went in on day one so the next version of this page has real numbers instead of adjectives.

Before

Nobody could read it. Headline, proof and button were locked behind scroll.

After

The headline sits above the fold. The replacement is one image.

Before

Nobody could find it. The site never said its own name.

After

The site says its own name in nine places, with a single H1 and a clean search setup.

Before

Nobody could contact you. The lead evaporated and nobody found out.

After

The form routes to a real inbox, with a fallback when something breaks.

What's verifiable today, checked against production as Googlebot:

Screenshot of the live inkwork.studio homepage, 2 August 2026.
The live site · 2 August 2026 · view source to check
The technical checklist
Metric Before After
Brand mentions on page09
<h1>none1
robots.txt404200
sitemap.xml404200
Canonical tagnonepresent
Open Graph / Twitternonepresent
Structured datanonevalid ProfessionalService
Hero asset404200
Form failure modesilentrouted, with fallback
AnalyticsnoneGA4

Indexing takes days to weeks on a domain this new no matter how clean the markup is. That part is waiting, not work.

Start a project

The bottom line

Want your website built the same way?

Start a project

SD  ·  2026  ·  web design for real businesses