Project Relay
A sports-tech website where I got to go much deeper into Webflow interactions, custom code, animation tools, and third-party libraries.
The site itself supports a sports broadcasting platform, so the build had a lot more motion, media, and interactive behavior than a typical static marketing site.
Alias again. Same deal: real work, fake name, very real amount of time spent making interactions behave. :)
Build notes
Rive animations inside Webflow
Lenis smooth scrolling
Finsweet CMS utilities
Custom video tab controls
Swiper.js draggable interactions
Animated number scaling
Scroll-based text reveals
Custom CSS inverted corners
Why this one mattered
Webflow started feeling like a playground.
This was one of the projects where I stopped thinking of Webflow as only a visual development tool and started getting much more comfortable extending it.
I worked with Rive animations, Lenis smooth scrolling, Finsweet CMS utilities, Swiper.js, custom JavaScript, custom CSS, and several scroll-based interactions.
Basically, this was where “can Webflow do that?” started turning into “okay, let me try.”
Rive + motion
The animation part finally started clicking.
The project included Rive animations, and working with them here helped me get much more comfortable bringing interactive animation assets into Webflow and making them feel like part of the page instead of something pasted on top.
Smooth scroll
This was also when Lenis started becoming part of my toolkit.
I started using Lenis for smoother scrolling and then carried that experience into later projects whenever the site benefited from a softer, more polished scroll feel.
Custom video tabs
Native Webflow tabs. Custom behavior.
One section used Webflow's native Tabs component, but every tab contained its own video.
I added custom JavaScript so users could manually play each video and toggle the audio without the videos fighting the tab behavior.
It was one of those small features that made me realize I was getting much more comfortable writing code around Webflow instead of only staying inside its native tools.
Video plays when the user wants it to.
Audio stays under the user’s control.
Tabs switch without the videos getting confused.
Elsewhere in the build
Lots of small things doing their job.
Finsweet + CMS
Used Finsweet utilities to extend CMS-driven sections and make the content behavior more flexible.
Number scaling
Built an animated number interaction that moves through values from 1 up past 100.
Swiper.js
Added draggable, swipeable content using Swiper.js where native Webflow interactions were not enough.
Scroll text reveals
Used scroll-triggered text reveals to add movement without turning every section into an animation showcase.
Inverted corners
Used custom CSS to create those inverted / cut-out corner shapes that are simple to look at and weirdly annoying to build.
What I took from it
Webflow is nicer when you stop being afraid to leave Webflow.
This project made me much more comfortable combining Webflow with animation tools, JavaScript libraries, CMS utilities, and custom CSS whenever the native toolset needed a little help.
It also changed how I approached later projects. Instead of immediately asking whether Webflow had a native feature for something, I started thinking more about what behavior I actually needed and what tool made the most sense for it.
Turns out the answer is occasionally “some JavaScript and a mildly unreasonable amount of testing.”
End note