<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Milngavie web designs</title>
    <description>The latest articles on DEV Community by Milngavie web designs (@milngavie_web_design).</description>
    <link>https://dev.to/milngavie_web_design</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4158211%2Fffc31028-35ee-4828-8691-75729c1cee92.png</url>
      <title>DEV Community: Milngavie web designs</title>
      <link>https://dev.to/milngavie_web_design</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/milngavie_web_design"/>
    <language>en</language>
    <item>
      <title>I have zero reviews and one follower. So I built a landing page that starts broken — because the car is — and cleans itself as you scroll.</title>
      <dc:creator>Milngavie web designs</dc:creator>
      <pubDate>Fri, 02 Oct 2026 17:47:42 +0000</pubDate>
      <link>https://dev.to/milngavie_web_design/i-have-zero-reviews-and-one-follower-so-i-built-a-landing-page-that-starts-broken-because-the-2jph</link>
      <guid>https://dev.to/milngavie_web_design/i-have-zero-reviews-and-one-follower-so-i-built-a-landing-page-that-starts-broken-because-the-2jph</guid>
      <description>&lt;p&gt;I'm a web designer with zero reviews on my freelance platform and one follower. Instead of&lt;br&gt;
apologising for it, I built the thing that should have been the reviews.&lt;/p&gt;

&lt;p&gt;DRY DOCK is a fictional mobile car detailer in Glasgow. His problem: roughly every third&lt;br&gt;
job dies to rain no-shows and two-day WhatsApp back-and-forth. So I built his landing page&lt;br&gt;
as a short film:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The page opens in the rain. The car's paint defects are rendered as UI glitches —
RGB splits are swirl marks, tears are stone chips, stutter is water spots.&lt;/li&gt;
&lt;li&gt;Scrolling IS the wash. A light bar passes the car and each panel heals behind it —
the interface itself cures, because that's what the product does.&lt;/li&gt;
&lt;li&gt;The weather banner is LIVE. It pulls Glasgow's actual forecast (Open-Meteo, free,
no key). If it's raining where the van is, the booking copy changes.&lt;/li&gt;
&lt;li&gt;Under the film it's a proper landing page: menu, booking flow with driveway
pre-qual, "what the owner no longer does".&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The whole thing: one HTML file + one CSS file. No framework, no AI, no build step,&lt;br&gt;
no dependencies. The car is pure CSS. The rain is canvas 2D. The glitches follow a&lt;br&gt;
3-rule grammar (RGB split / panel tear / stutter) — each one maps to a paint defect,&lt;br&gt;
never random, and none of them exist past the halfway point.&lt;/p&gt;

&lt;p&gt;Hardest part: the scroll-driven panel resolution. Proudest part: the page's own UI&lt;br&gt;
heals — the site gets sicker the way the paint does, and the product cures it.&lt;/p&gt;

&lt;p&gt;Live: &lt;a href="https://drydock-tau.vercel.app/" rel="noopener noreferrer"&gt;https://drydock-tau.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I do this for real small businesses.&lt;br&gt;
Ask me anything — happy to talk through any of it.&lt;/p&gt;

</description>
      <category>design</category>
      <category>frontend</category>
      <category>showdev</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
