Skip to content

Latest commit

Β 

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

RANDS Logo

RANDS β€” Rizz & Slay

Culture First Content Studio
A production-first content studio that turns brands into culture in seconds.

View Live Site β€’ Features β€’ Tech Stack β€’ Getting Started β€’ Project Structure


πŸ“– About

RANDS (Rizz & Slay) is a modern, brutalist-inspired marketing website for a content studio specializing in short-form video production, TikTok marketing, and viral campaigns. The site showcases a bold design aesthetic with interactive 3D elements, smooth animations, and a focus on Gen Z/millennial audiences.

✨ Features

🎨 Design & UI

  • Brutalist Design System β€” Bold typography, thick borders, hard shadows, and high-contrast color palette
  • Custom Color Palette β€” Toxic Lime (#CCFF00), Hot Magenta (#FF00FF), Warning Orange (#FF6600)
  • Responsive Design β€” Fully responsive across all device sizes
  • Dark Mode Support β€” Automatic dark mode based on system preferences
  • Custom Typography β€” Inter (body) + Oswald (display) font pairing

πŸš€ Interactive Elements

  • 3D Hero Scene β€” Interactive Three.js scene with liquid metal sphere, orbital rings, and particle effects
  • Smooth Scrolling β€” Lenis-powered smooth scroll experience
  • GSAP Animations β€” Scroll-triggered animations and kinetic typography
  • Framer Motion β€” Page transitions and micro-interactions
  • Video Player β€” Custom video player with play/pause and mute controls

πŸ“„ Pages

  • Homepage β€” Hero, social proof, services, work grid, testimonials, and CTA sections
  • Brief Page β€” Multi-step form wizard for project submissions
  • 404 Page β€” Custom branded error page with personality

πŸ”§ Technical Features

  • SEO Optimized β€” Comprehensive meta tags, Open Graph, Twitter Cards, robots.txt, and sitemap.xml
  • Google Analytics β€” Integrated tracking with GA4
  • Form Validation β€” Zod schema validation with React Hook Form
  • Dynamic Imports β€” Code splitting for optimal performance
  • Image Optimization β€” Next.js Image component with responsive sizing

πŸ›  Tech Stack

Category Technology
Framework Next.js 16 (App Router)
Language TypeScript 5
Styling Tailwind CSS 4
3D Graphics Three.js + React Three Fiber + Drei
Animation GSAP + Framer Motion
Smooth Scroll Lenis
Forms React Hook Form + Zod
Icons Lucide React
UI React 19
Linting ESLint 9

πŸ“ Project Structure

rands-static-site/
β”œβ”€β”€ app/                          # Next.js App Router
β”‚   β”œβ”€β”€ layout.tsx                # Root layout with fonts, metadata, and providers
β”‚   β”œβ”€β”€ page.tsx                  # Homepage
β”‚   β”œβ”€β”€ not-found.tsx             # Custom 404 page
β”‚   β”œβ”€β”€ globals.css               # Global styles and Tailwind theme
β”‚   β”œβ”€β”€ robots.ts                 # SEO robots.txt configuration
β”‚   β”œβ”€β”€ sitemap.ts                # Dynamic sitemap generation
β”‚   └── brief/
β”‚       └── page.tsx              # Brief submission page
β”‚
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ GoogleAnalytics.tsx       # GA4 integration
β”‚   β”œβ”€β”€ brief/
β”‚   β”‚   └── BriefForm.tsx         # Multi-step form wizard
β”‚   β”œβ”€β”€ home/
β”‚   β”‚   β”œβ”€β”€ Hero.tsx              # Hero section with 3D scene
β”‚   β”‚   β”œβ”€β”€ Scene.tsx             # Three.js 3D scene
β”‚   β”‚   β”œβ”€β”€ SocialProof.tsx       # Client marquee
β”‚   β”‚   β”œβ”€β”€ WhatWeDo.tsx          # Services overview
β”‚   β”‚   β”œβ”€β”€ FeaturedReel.tsx      # Video showcase
β”‚   β”‚   β”œβ”€β”€ WorkGrid.tsx          # Portfolio grid
β”‚   β”‚   β”œβ”€β”€ ServicesCheatsheet.tsx # Services breakdown
β”‚   β”‚   β”œβ”€β”€ ProcessStrip.tsx      # Process steps
β”‚   β”‚   └── Testimonials.tsx      # Client testimonials carousel
β”‚   β”œβ”€β”€ layout/
β”‚   β”‚   β”œβ”€β”€ Header.tsx            # Navigation header
β”‚   β”‚   └── Footer.tsx            # Site footer
β”‚   └── ui/
β”‚       β”œβ”€β”€ Button.tsx            # Button component with variants
β”‚       └── Section.tsx           # Section wrapper component
β”‚
β”œβ”€β”€ utils/
β”‚   β”œβ”€β”€ cn.ts                     # Class name utility (clsx + tailwind-merge)
β”‚   └── lenis.ts                  # Lenis smooth scroll export
β”‚
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ images/
β”‚   β”‚   └── logo.png              # Brand logo
β”‚   └── videos/
β”‚       └── new.mp4               # Featured reel video
β”‚
β”œβ”€β”€ eslint.config.mjs             # ESLint configuration
β”œβ”€β”€ next.config.ts                # Next.js configuration
β”œβ”€β”€ postcss.config.mjs            # PostCSS configuration
β”œβ”€β”€ tailwind.config.ts            # Tailwind CSS configuration (if applicable)
β”œβ”€β”€ tsconfig.json                 # TypeScript configuration
└── package.json                  # Dependencies and scripts

πŸš€ Getting Started

Prerequisites

  • Node.js 18.17 or later
  • npm, yarn, pnpm, or bun

Installation

  1. Clone the repository

    git clone https://github.com/codezelat/rands-static-site.git
    cd rands-static-site
  2. Install dependencies

    npm install
    # or
    yarn install
    # or
    pnpm install
    # or
    bun install
  3. Run the development server

    npm run dev
    # or
    yarn dev
    # or
    pnpm dev
    # or
    bun dev
  4. Open your browser

    Navigate to http://localhost:3000

Available Scripts

Command Description
npm run dev Start development server with hot reload
npm run build Build production-ready application
npm run start Start production server
npm run lint Run ESLint for code quality

🎨 Design System

Color Palette

Color Hex Usage
Toxic Lime #CCFF00 Primary accent, CTAs, highlights
Hot Magenta #FF00FF Secondary accent, hover states
Warning Orange #FF6600 Tertiary accent, alerts
Off White #F5F5F5 Light backgrounds
Soft Grey #D4D4D4 Muted text, borders
Carbon Black #111111 Dark backgrounds, text

Typography

  • Display Font: Oswald β€” Bold, uppercase headlines
  • Body Font: Inter β€” Clean, readable body text

Brutalist Utilities

.border-thick        /* 3px solid border */
.border-thick-top    /* Top border only */
.border-thick-bottom /* Bottom border only */
.box-shadow-hard     /* 6px hard shadow offset */
.text-display        /* Display font with uppercase */

πŸ”§ Configuration

Environment Variables

Copy .env.example to .env.local and fill in values:

# Analytics (optional - already configured)
NEXT_PUBLIC_GA_ID=G-XXXXXXXXXX

# Site URL
NEXT_PUBLIC_SITE_URL=https://rands.lk

# Cloudflare Turnstile (required for contact + brief forms)
NEXT_PUBLIC_TURNSTILE_SITE_KEY=1x00000000000000000000AA
TURNSTILE_SECRET_KEY=1x0000000000000000000000000000000AA

# Resend email config (required for contact + brief form submissions)
RESEND_API_KEY=re_REPLACE_ME
RESEND_FROM_EMAIL=your-verified-sender@example.com
RESEND_FROM_NAME=RANDS Website

# Optional shared fallback recipient
RESEND_TO_EMAIL=you@email.com

Form delivery troubleshooting

Both /api/contact and /api/brief send through the same Resend API key. If runtime logs report an authentication error, check RESEND_API_KEY in Vercel's Production environment. Use an active key with email sending access. Redeploy after changing a Vercel environment variable so the running functions receive the new value. Never commit an API key or paste it into logs.

The sender domain must be verified in Resend. Each form also needs its recipient (RESEND_CONTACT_TO_EMAIL or RESEND_BRIEF_TO_EMAIL), or the shared RESEND_TO_EMAIL fallback. A successful Turnstile challenge alone does not prove email delivery; check the API response and Resend delivery logs.

Image Domains

External image domains are configured in next.config.ts:

images: {
  remotePatterns: [
    {
      protocol: "https",
      hostname: "images.unsplash.com",
      pathname: "/**",
    },
  ],
}

πŸ“± Pages Overview

Homepage (/)

  • Hero: Animated headline with interactive 3D scene
  • Social Proof: Infinite marquee of client logos
  • What We Do: Service cards with hover effects
  • Featured Reel: Video player with custom controls
  • Work Grid: Portfolio showcase with image overlays
  • Services Cheatsheet: Quick service breakdown
  • Process Strip: 4-step process visualization
  • Testimonials: Horizontal scroll testimonial cards
  • Footer: CTA, contact details, navigation, and social links
  • Contact Modal: Global popup contact form with Turnstile verification

Brief Page (/brief)

  • Multi-step Form: 3-step wizard for project submissions
  • Form Validation: Real-time validation with helpful error messages
  • Progress Indicator: Visual progress bar
  • Success State: Confirmation message on submission

404 Page

  • Custom Design: Branded error page with personality
  • Clear CTA: Easy navigation back to homepage

🌐 SEO

The site includes comprehensive SEO configuration:

  • Meta Tags: Title, description, keywords
  • Open Graph: Social sharing previews
  • Twitter Cards: Twitter-specific meta tags
  • Robots.txt: Search engine crawling rules
  • Sitemap.xml: Dynamic sitemap generation
  • Structured Data Ready: Easy to extend with JSON-LD

πŸ“Š Analytics

Google Analytics 4 is integrated via the GoogleAnalytics component:

<GoogleAnalytics /> // Loads gtag.js with configured tracking ID

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Next.js β€” The React framework for production
  • Tailwind CSS β€” Utility-first CSS framework
  • React Three Fiber β€” React renderer for Three.js
  • GSAP β€” Professional animation library
  • Framer Motion β€” Production-ready motion library
  • Lenis β€” Smooth scroll library
  • Lucide β€” Beautiful & consistent icons

Developed with ❀️ by Codezela Technologies

About

Official website for Rizz and Slayy, a subsidiary of Codezela Technologies

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages