<?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: Jawad Ali</title>
    <description>The latest articles on DEV Community by Jawad Ali (@jwad_ali_2a2edc291c63e262).</description>
    <link>https://dev.to/jwad_ali_2a2edc291c63e262</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%2F4070223%2Fecd34aa4-7aca-4a80-acc4-b6c94a00ef76.jpg</url>
      <title>DEV Community: Jawad Ali</title>
      <link>https://dev.to/jwad_ali_2a2edc291c63e262</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jwad_ali_2a2edc291c63e262"/>
    <language>en</language>
    <item>
      <title>I Built a Website With a Speed Gauge That Actually Syncs to Your Scroll</title>
      <dc:creator>Jawad Ali</dc:creator>
      <pubDate>Sun, 09 Aug 2026 20:40:02 +0000</pubDate>
      <link>https://dev.to/jwad_ali_2a2edc291c63e262/i-built-a-website-with-a-speed-gauge-that-actually-syncs-to-your-scroll-3coh</link>
      <guid>https://dev.to/jwad_ali_2a2edc291c63e262/i-built-a-website-with-a-speed-gauge-that-actually-syncs-to-your-scroll-3coh</guid>
      <description>&lt;p&gt;Quick note: I link to a template I sell near the end of this. The story above it stands on its own either way.)&lt;/p&gt;

&lt;p&gt;I spent a week building a website template. Not for a client. For nobody, really — just because I wanted to see if I could make one detail work.&lt;/p&gt;

&lt;p&gt;Here’s the detail: a small circular gauge in the corner of the screen. As you scroll, it fills up and the number inside counts up with it. Scroll back up, it winds back down. It’s not a video. It’s not a pre-baked animation. It’s tied directly to your scroll position, live.&lt;/p&gt;

&lt;p&gt;That’s it. That’s the whole idea I was chasing.&lt;/p&gt;

&lt;p&gt;Why I cared about one gauge so much&lt;br&gt;
Most “cinematic” templates fake it. Dark background, a fade-in here, a parallax layer there — and underneath, it’s still just a regular page in a costume.&lt;/p&gt;

&lt;p&gt;I wanted one thing on the page that actually reacted to you. Not decoration. A response.&lt;/p&gt;

&lt;p&gt;It took three tries to get right&lt;br&gt;
First version: a timed animation. Press scroll, watch it play. Looked great in my test. Fell apart the second I scrolled faster or slower than I’d planned for — because it wasn’t actually listening to me, it was just running on its own clock next to me.&lt;/p&gt;

&lt;p&gt;Write on Medium&lt;br&gt;
Second version: I tried to fix that by linking the same animation to scroll progress. Better, but it always felt half a step behind, like dragging a rock through water.&lt;/p&gt;

&lt;p&gt;Third version — the one that shipped — I stopped trying to animate it at all. No animation library doing the work. The scroll position is the gauge value, directly. No smoothing, no easing fighting the input. Just: wherever you are on the page, that’s where the gauge is.&lt;/p&gt;

&lt;p&gt;Sounds obvious now. Took two wrong versions to get there.&lt;/p&gt;

&lt;p&gt;What else is in the page&lt;br&gt;
The gauge is the part I’m proud of. The rest is there to support it, not compete with it:&lt;/p&gt;

&lt;p&gt;A scroll-pinned story sequence — four short chapters instead of one long scroll&lt;br&gt;
Cards that tilt slightly toward your mouse, so the page still responds to you outside the scroll sequence&lt;br&gt;
A macro photo gallery — because a launch page that never shows the details doesn’t earn the word “premium”&lt;br&gt;
One HTML file. No build step. No framework. Open it, it works.&lt;br&gt;
If you’re solving the same problem&lt;br&gt;
If you’ve ever tried to sync UI to scroll and had it feel disconnected from the actual input — the timed-animation trap I fell into twice — I’d genuinely like to hear how you solved it. Drop it in the comments.&lt;/p&gt;

&lt;p&gt;And if you want to see the gauge doing its thing rather than take my word for it, here’s the live demo: raven-5a231.netlify.app&lt;/p&gt;

&lt;p&gt;Full source, ready to customize, is on Gumroad — 20% off with code 728: jawadaliyour.gumroad.com/l/wmbber/728&lt;a href="https://jawadaliyour.gumroad.com/l/wmbber&lt;br&gt;%0A![%20](https://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/mo16ga7kzpfc6kxrz2gy.png)" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>I Don't Own My Dream Bike Yet. So I Built It a Website Instead.</title>
      <dc:creator>Jawad Ali</dc:creator>
      <pubDate>Sun, 09 Aug 2026 20:32:46 +0000</pubDate>
      <link>https://dev.to/jwad_ali_2a2edc291c63e262/i-dont-own-my-dream-bike-yet-so-i-built-it-a-website-instead-2aga</link>
      <guid>https://dev.to/jwad_ali_2a2edc291c63e262/i-dont-own-my-dream-bike-yet-so-i-built-it-a-website-instead-2aga</guid>
      <description>&lt;p&gt;I've wanted a bike like this since before I could afford one. Not any bike - a specific kind. Low, dark, quiet until it isn't. The kind you see once in a parking lot and think about for the rest of the day.&lt;br&gt;
I still don't own it. Maybe not this year either.&lt;br&gt;
So I did the next best thing I actually know how to do: I built it a home on the internet.&lt;br&gt;
Where this actually&amp;nbsp;started&lt;br&gt;
It wasn't really about the bike, at first. It was about a feeling I couldn't shake - that most "product" websites don't feel like the product they're selling. A motorcycle is loud, physical, alive. Most motorcycle websites are quiet, flat, and forgettable. A spec sheet with a stock photo on top.&lt;br&gt;
That gap bothered me more than it probably should have.&lt;br&gt;
I kept thinking: if I ever get close to a bike like that, I want the website to feel like standing next to it. Not a brochure. Something closer to the moment right before the engine turns on.&lt;br&gt;
So I built the bike I couldn't buy&amp;nbsp;yet&lt;br&gt;
I named it RAVEN. Not a real motorcycle - my version of the one I keep picturing. Electric, minimal, no wasted lines. I gave it a story instead of just a spec sheet: four short chapters that play as you scroll, each one a different reason the bike exists.&lt;br&gt;
And then I gave it the one detail that took the longest to get right - a small gauge that fills up and counts as you scroll, live, tied to nothing but your own hand on the mouse or your thumb on the screen. Scroll down, it climbs. Scroll back, it falls. No timer running in the background pretending to be you.&lt;br&gt;
That detail is the closest I could get to the actual feeling - the needle moving because you asked it to, not because a script decided it should.&lt;br&gt;
Why build a website for a bike I don't&amp;nbsp;own&lt;br&gt;
Because wanting something for years teaches you its shape, even without ever touching it. I know what that bike would sound like pulling away. I know the angle I'd want to see it from in a driveway at dusk. I've never sat on it, and I could still draw you the exact curve of its tank from memory.&lt;br&gt;
Building RAVEN was a way to put that shape somewhere real, instead of just carrying it around in my head. A rendering, four chapters, one gauge that listens to you - it's not the bike. But it's the closest I've gotten so far.&lt;br&gt;
If you're chasing something similar&lt;br&gt;
Maybe it's not a bike for you. Maybe it's a car, a guitar, an apartment with good light. The thing you don't have yet but already know the shape of.&lt;br&gt;
I'd genuinely like to hear what it is, if you want to share it in the comments.&lt;br&gt;
And if you build things for a living - pages, launches, brands - and you want to see what "the website feels like standing next to the product" actually looks like in practice, RAVEN's up as a template. Full source, live demo:&lt;br&gt;
raven-5a231.netlify.app&lt;br&gt;
Full source on Gumroad, 20% off with code 728: &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frovd51qogy7alwroigbm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frovd51qogy7alwroigbm.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;br&gt;
jawadaliyour.gumroad.com/l/wmbber&lt;a href="//jawadaliyour.gumroad.com/l/wmbber"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
