A "Production Grade" creative studio portfolio template designed with an Anti-Design / Neo-Brutalist aesthetic. This project prioritizes bold typography, kinetic motion, and raw technical interactions over traditional web polish, while maintaining enterprise-grade performance and code quality.
This is not just a pretty face. The codebase is engineered for scale, performance, and maintainability.
- ⚡️ Lightning Fast: Achieves a 96/100 Performance Score on Lighthouse.
- 🧩 Lazy Loading: Below-the-fold components (
ProjectGrid,Team,ProcessTimeline) are lazy-loaded usingReact.lazyandSuspenseto minimize initial bundle size. - 📦 Optimized Build:
vite.config.tsis configured with manual chunk splitting to separate vendor libraries (react,gsap) for better caching. - 🛡️ Type Safety: Fully typed with TypeScript. Shared types are centralized in
src/types. - 🪝 Custom Hooks: Reusable
useGsaphook for memory-safe animation management.
- Framework: React 19
- Build Tool: Vite
- Styling: Tailwind CSS v4 (configured for Brutalist design tokens)
- Animation: GSAP (GreenSock Animation Platform)
ScrollTrigger: Pinned sections and scroll-driven parallax.TextPlugin: Kinetic text decoding and scrambling.
- Language: TypeScript
/src
├── components/ # UI Components
│ ├── Hero.tsx # Kinetic text explosion + Ghost effects
│ ├── ProcessTimeline.tsx # Horizontal scroll system with snap physics
│ ├── ProjectGrid.tsx # Brutalist directory-style showcase
│ └── ...
├── hooks/ # Custom React Hooks
│ └── useGsap.ts # Safe GSAP context management
├── types/ # Shared TypeScript definitions
│ └── index.ts # Interfaces for data models
├── App.tsx # Main layout & Lazy load configuration
└── index.css # Global styles & Tailwind directivesThe design language moves away from the "Clean SaaS" look into a high-energy, confident, and polarizing aesthetic.
- Kinetic Typography: Text is the main visual element. It explodes, drifts, blurs, and decodes.
- Industrial HUD: UI mimics technical dashboards (progress bars, memory usage stats) for an "under the hood" feel.
- Horizontal Friction: The
ProcessTimelinebreaks vertical scrolling, forcing engagement. - Raw Materials: Pure hex codes (
#CCFF00Acid Green) and unstyled HTML elements used intentionally.
- Node.js >= 18.0.0
- npm or yarn
- Clone the repository:
git clone https://github.com/nova-studio/landing-page.git
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Build for production:
npm run build
Edit tailwind.config.js to update the design tokens:
theme: {
extend: {
colors: {
'brutal-bg': '#050505',
'brutal-green': '#CCFF00', // Change your primary accent here
},
fontFamily: {
display: ['Syne', 'sans-serif'],
mono: ['Space Mono', 'monospace'],
}
}
}Animations are managed via the useGsap hook in each component. Tweak duration, ease, and stagger values in src/components/*.tsx to adjust the feel.
This project is licensed under the MIT License - see the LICENSE file for details.