
The site you’re on — a fully dynamic, CMS-driven creative portfolio. Nothing is hardcoded: every case study, the about page, experience, and skills are served from one centralized Sanity CMS that also powers blog.rambaarde.com.
A portfolio that demonstrates the craft it claims: purposeful motion at 60fps, custom interaction systems instead of library defaults, and content that updates without a deploy.


The page transitions are a custom GSAP system inspired by Barba.js that intercepts internal navigation and slides routes in with expo easing. Smooth scrolling is a hand-rolled requestAnimationFrame + lerp loop — no Lenis, no Locomotive. Text reveals are scroll-driven word-by-word Framer Motion animations, and the theme toggle uses the View Transitions API with a GSAP fallback for browsers without it.
Nothing on this site is hardcoded. Every case study, the about page, work experience, education, certifications, honors, and skills are served dynamically from a single, centralized Sanity CMS — and that same CMS also powers the blog at blog.rambaarde.com. One content backend behind two live front-ends (rambaarde.com and the blog), each edited and published without a code deploy.
Neue Montreal across four weights, oklch color tokens for both themes, prefers-reduced-motion fallbacks on every animation, and Next.js 16 with React 19 underneath.
Want to see more?

