Recent dev work for PlayFight website. Tech used: •Webflow •GSAP •Threejs/WebGLRecent dev work for PlayFight website. Tech used: •Webflow •GSAP •Threejs/WebGL
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
An interactive psychological horror experience inspired by Japanese folklore. You play as a lone ferryman crossing mysterious waters where drifting fog, strange shadows, and the unknown turn a quiet journey into something unsettling.
What I built:
- A cinematic, moonlit 3D lake environment.
- A custom WGSL fog shader running on Rive's GPU Canvas.
- An interactive Haunt slider that lets you intensify the atmosphere.
- Rive-powered effects built using the Rive CLI, Rive Markup Language, Luau scripting, and data binding.
The lake environment was the foundation. For the @Rive Halloween Challenge, I wanted to push it further by creating a supernatural layer that responds to the player instead of remaining a static visual effect.
This project was an exploration of how code, shaders, and interactive design can turn an atmospheric scene into an experience.
One of my favorite projects this year: a full migration of ecopiatech.com from a legacy PHP CMS to Webflow.
Ecopia builds AI-generated 3D maps, and their site had a lot going on. Smooth scroll, parallax, character reveals, a fullscreen menu with an animated tile grid, timeline carousels, before/after sliders. The brief was simple: rebuild it 1:1.
So instead of eyeballing it, I went into the live site's CSS and measured everything. Easing curves, delays, durations, even the "random" text reveal turned out to be a 6-step delay cycle per word. Then I rebuilt it in Webflow so it feels exactly like the original, but now the team can update everything on their own.
On the content side:
220+ blog posts, news and case studies moved into Webflow CMS
Before/after sliders, videos and map embeds inside rich text, handled with simple shortcodes the editors can use
250 redirects mapped and verified so no old URL breaks
HubSpot forms restyled to match the brand, plus tracking set up for launch
The fun part of projects like this is the details nobody notices when they're done right.
Take a look: https://www.ecopiatech.com/