Skip to content

An immersive Digital Brutalist experience built with Svelte 5 (Runes) & GSAP. Featuring asymmetrical grids, heavy typography, shutter page transitions, and raw interactive aesthetics.

Notifications You must be signed in to change notification settings

tahsinmert/monolith-architecture-portfolio

Repository files navigation

MONOLITH β€” Architecture Studio Portfolio

MONOLITH Logo
A Digital Brutalism Portfolio Website

πŸ—οΈ Design Philosophy

Digital Brutalism:

  • Raw, structural, bold, high-contrast design
  • Visible grid lines and borders (blueprint aesthetic)
  • Oversized uppercase typography
  • Asymmetrical layouts with intentional misalignment
  • Stark color palette: Black (#000), White (#fff), Concrete Gray (#808080)
  • Sharp, mechanical animations with Expo easing
  • Grainy noise texture overlay for concrete/paper feel

πŸ› οΈ Tech Stack

  • Framework: SvelteKit with Svelte 5 Runes syntax
  • Styling: Tailwind CSS v3
  • Animation: GSAP (Core, ScrollTrigger, Flip Plugin)
  • Smooth Scroll: Lenis
  • Font: Oswald (Google Fonts)

✨ Features

Core Features

  • βœ… Custom Cursor - White circle with mix-blend-mode: difference for color inversion
  • βœ… Background Grid Pattern - Blueprint-style grid covering entire page
  • βœ… Noise Overlay - Animated grain texture for raw concrete aesthetic
  • βœ… Page Transitions - "Concrete Shutter" effect with GSAP animations
  • βœ… Smooth Scrolling - Lenis integration with GSAP ScrollTrigger

Navigation

  • βœ… Sticky Navigation - Fixed header with MONOLITH logo
  • βœ… Mega Menu - Garage door slide-down effect (black panel)
  • βœ… Menu Animation - GSAP-powered smooth transitions

Home Page

  • βœ… Hero Section - Massive "WE BUILD VOIDS." text
  • βœ… Asymmetric Gallery - 10 projects in brutalist grid layout
  • βœ… GSAP Flip Transitions - Thumbnail to full-screen modal animations
  • βœ… Grayscale to Color - Images transition on hover
  • βœ… Project Overlays - Large titles with text-stroke

Project Pages

  • βœ… Projects List - Archive view with floating image reveal on hover
  • βœ… Project Detail - Split-screen layout with sticky info panel
  • βœ… Parallax Gallery - ScrollTrigger-powered image effects
  • βœ… Next Project Navigation - Seamless project browsing

Additional Pages

  • βœ… Studio Page - Manifesto with split-screen design
  • βœ… Contact Page - Massive email link with infinite marquee
  • βœ… Signature Component - Developer credit with blend mode

πŸ“ Project Structure

monolith/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   └── components/
β”‚   β”‚       β”œβ”€β”€ Cursor.svelte          # Custom cursor
β”‚   β”‚       β”œβ”€β”€ Navigation.svelte      # Header & mega menu
β”‚   β”‚       β”œβ”€β”€ Noise.svelte           # Grain texture overlay
β”‚   β”‚       β”œβ”€β”€ PageTransition.svelte  # Page transition effects
β”‚   β”‚       β”œβ”€β”€ ProjectCard.svelte     # Project card component
β”‚   β”‚       └── Signature.svelte       # Developer signature
β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”œβ”€β”€ +layout.svelte             # Root layout
β”‚   β”‚   β”œβ”€β”€ +page.svelte               # Home page
β”‚   β”‚   β”œβ”€β”€ projects/
β”‚   β”‚   β”‚   β”œβ”€β”€ +page.svelte           # Projects list
β”‚   β”‚   β”‚   └── [id]/
β”‚   β”‚   β”‚       β”œβ”€β”€ +page.ts           # Project data loader
β”‚   β”‚   β”‚       └── +page.svelte        # Project detail
β”‚   β”‚   β”œβ”€β”€ studio/
β”‚   β”‚   β”‚   └── +page.svelte           # Studio manifesto
β”‚   β”‚   └── contact/
β”‚   β”‚       └── +page.svelte           # Contact page
β”‚   └── app.css                         # Global styles
β”œβ”€β”€ static/
β”‚   β”œβ”€β”€ favicon.png                     # MONOLITH logo
β”‚   └── robots.txt
└── package.json

πŸš€ Getting Started

Prerequisites

  • Node.js 18+
  • npm or yarn

Installation

# Clone the repository
git clone <repository-url>
cd monolith

# Install dependencies
npm install

# Start development server
npm run dev

# Build for production
npm run build

# Preview production build
npm run preview

The site will be available at http://localhost:5173

🎨 Key Components

Cursor Component

Custom white circle cursor that follows mouse movement and inverts colors using mix-blend-mode: difference.

Navigation Component

  • Sticky header with MONOLITH logo (links to home)
  • Menu button that triggers garage door slide-down animation
  • Full-screen black overlay with navigation links
  • GSAP-powered smooth transitions

Noise Component

Animated grain texture overlay that adds raw, concrete-like texture to the entire site. Uses SVG noise pattern with CSS animation.

PageTransition Component

"Concrete Shutter" effect that slides a black panel down when navigating between pages, creating a heavy, mechanical transition.

Project Gallery

Asymmetric grid layout with:

  • 10 architectural projects
  • Grayscale images that transition to color on hover
  • Large project titles with black text-stroke
  • GSAP Flip animations for modal transitions

🎬 Animation Details

  • GSAP Flip: Seamless transitions between thumbnail and full-screen modal
  • ScrollTrigger: Scroll-based animations for images and content
  • Lenis: Smooth scrolling with GSAP integration
  • Easing: Expo/Power2/Power3 for sharp, brutalist movements
  • Parallax: Image parallax effects on project detail pages

🎨 Design System

Color Palette

  • Black: #000000
  • White: #FFFFFF
  • Concrete Gray: #808080

Typography

  • Font: Oswald (Google Fonts)
  • Style: Uppercase, bold (700-900), tight tracking
  • Hero Text: 8rem - 18rem font size
  • Headings: 4xl - 9xl with uppercase

Grid System

  • 12-column grid layout
  • Asymmetric spans for intentional misalignment
  • Heavy borders (2px - 4px) in black

πŸ“± Pages

Home (/)

  • Hero section with "WE BUILD VOIDS." text
  • Asymmetric project gallery (10 projects)
  • GSAP Flip modal transitions

Projects (/projects)

  • Archive-style list view
  • Floating image reveal on hover
  • Year | Project Name | Type layout

Project Detail (/projects/[id])

  • Split-screen layout
  • Sticky info panel (left)
  • Scrollable gallery with parallax (right)
  • Next project navigation

Studio (/studio)

  • Split-screen manifesto layout
  • Sticky "WE REJECT ORNAMENT." title
  • Team table with names and roles

Contact (/contact)

  • Massive email link
  • Infinite marquee at bottom
  • "AVAILABLE FOR COMMISSIONS β€” WORLDWIDE β€” MONOLITH β€”"

πŸ”§ Configuration

Tailwind CSS

Configuration file: tailwind.config.ts

  • Custom font family (Oswald)
  • Extended theme for brutalist design

GSAP

  • ScrollTrigger registered globally
  • Flip plugin for transitions
  • Expo easing for mechanical feel

Lenis

  • Smooth scroll with custom easing
  • Integrated with GSAP ScrollTrigger
  • Touch multiplier for mobile

🎯 Browser Support

  • Modern browsers (Chrome, Firefox, Safari, Edge)
  • Requires CSS Grid and Flexbox support
  • JavaScript required for animations

πŸ“ License

This project is private and proprietary.

πŸ‘¨β€πŸ’» Developer

Designed & Coded by: Tahsin Mert Mutlu


MONOLITH Architecture Studio
We Build Voids.

About

An immersive Digital Brutalist experience built with Svelte 5 (Runes) & GSAP. Featuring asymmetrical grids, heavy typography, shutter page transitions, and raw interactive aesthetics.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published