Webflow Development
I built the portfolio entirely in Webflow, leveraging its visual editor and interactions features. I used a combination of divs and flexbox for layout, and custom attributes to implement the dynamic filtering.
One challenge I faced was ensuring the sticky navigation behaved correctly on all screen sizes. I overcame this by using a combination of Webflow's built-in responsiveness features and custom CSS media queries.
Rive Animation
I picked up how Rive works quickly, after a little research on state machines, triggered animations were also a breeze. I designed a plane starting & landing, a bulb flashing, a pen writing & a floating shapes animations to add visual interest to the hero section and demonstrate my ability to create engaging motion graphics.
The state machine allows the animation to respond to user interaction, transitioning between different states based on mouse hover.
Integrating the Rive animation into Webflow involved exporting the .riv file and using Webflow's Rive element. I had to troubleshoot some initial issues with the animation playback, which I resolved by carefully reviewing the Rive documentation and Webflow's integration guide.
Custom Code
To implement the dynamic filtering without Webflow's CMS, I wrote custom JavaScript using the Finsweet CMS Filter library. This code adds and removes CSS classes to project items based on the selected filter, allowing me to show and hide projects dynamically.