Gabriel Gris's Work | ContraWork by Gabriel GrisGabriel Gris
Motion designer for SaaS launches & data · built in code
One video, three caption styles, three languages. A 30-second demo built on my Chess app promo: animated word-by-word captions in English (the spoken word lights up), clean translated subtitles in Spanish, then bouncy pop captions in French with key words in yellow.
Every word is timed to the voice from a local transcription, translations are proofread by hand, and every line is placed away from the board and the call-to-action button so nothing important gets covered.
Demo piece, not affiliated with Chess.com. Built in code with HyperFrames and GSAP. Your data, animated. A 30-second showcase of three ways to make numbers move: a bar chart race where the lead changes hands twice, a growth line whose MRR counter rides the tip of the pen, and a KPI dashboard where every number counts up with its bar. One rule throughout: one chart, one message. No pie charts, no gridlines, nothing a viewer can't read in three seconds. Every value on screen is computed from the dataset, so it never drifts from the source. Demo data, built in code with GSAP. Woofy, Meta Ads (real client). A 24-second vertical ad for Woofy, a dog water fountain, with French voice-over. The hook shows the problem in the first second (a dirty bowl), then product shots, kinetic benefits and a clear call to action, all built for the first three seconds of a feed. Delivered as a 9:16 ad ready for Reels and Meta campaigns. SaaS launch ad with a twist: "Oh, and this whole ad?" A 55-second launch film for Plotwise, a fictional analytics SaaS. Glass bubbles, a 3D phone and kinetic captions walk through the dashboard, then the ad reveals the code and timeline behind every frame. Nothing was keyframed by hand: UI, 3D and camera moves are written in code (HTML, GSAP, Three.js) and rendered to video, so when your UI changes, I change a value, not a scene. Voice-over, custom music, 39 sound effects, mixed at -14 LUFS. Concept piece.