Studio Forma – Interior Architecture
A website for an interior design studio featuring a minimalist editorial aesthetic, dynamic service pages, and animations inspired by interior architecture.
Next.jsTypeScriptCSS AnimationsResponsive DesignUI/UX Design
About the project
A comprehensive website for Studio Forma, designed in a timeless, understated style with a warm cream background, olive accents, and typography combining Cormorant Garamond with Jost.
⏱ Timeline: 2–3 weeks
What I worked on
- ✓UX/UI design in a minimalist editorial style
- ✓Development with Next.js 14 + TypeScript
- ✓Dynamic service page system generated from a single data source
- ✓Expandable service navigation in the header and footer
- ✓Interior architecture-inspired scroll reveal animations (blinds, architectural blueprint effects)
- ✓Consultation booking modal powered by React Portal (createPortal)
- ✓Fully responsive, mobile-first implementation
- ✓Deployment on Vercel with automatic GitHub CI/CD
Results
- ↗Consistent visual identity across every page
- ↗Scalable service architecture — adding a new service requires only a single data entry, not a new page
- ↗Custom animations inspired by interior architecture (process line, blueprint corners, window blinds)
- ↗Fast loading through static generation of service pages
Challenges and solutions
Key project decisions
- →Next.js 14 App Router with generateStaticParams for static service pages
- →CSS transitions instead of JavaScript setTimeout for smoother footer animations
- →Cormorant Garamond as the display font for an elegant editorial feel
- →A warm cream background paired with olive accents to create a timeless visual identity
- →Service data separated from presentation (services.ts) for easier scalability
Integrations
Consultation booking modal powered by React PortalFooter newsletter form with local state managementExpandable service navigation (desktop dropdown + mobile accordion)IntersectionObserver-powered scroll reveal animations across all sectionsAutomatic deployment pipeline with Vercel and GitHub
