Back to Component Explorer
Neo-Brutalist High-Contrast Sign Up
signupStark black borders with heavy offset shadows and bold yellow neo-brutalist typography.
#signup#brutalist#bold#contrast
Live Interactive Preview
JOIN_AURENZA
CREATE_ACCOUNT
Get immediate raw access to the full UI kit.
Component Source Code
Select language in the dropdownBrutalSignUp.tsx
1'use client';23import React, { useState } from 'react';4import { ArrowRight, Check } from 'lucide-react';56export default function BrutalSignUp() {7 const [name, setName] = useState('');8 const [email, setEmail] = useState('');9 const [password, setPassword] = useState('');10 const [submitted, setSubmitted] = useState(false);1112 const handleSubmit = (e: React.FormEvent) => {13 e.preventDefault();14 setSubmitted(true);15 };1617 return (18 <div className="w-full max-w-md border-4 border-black bg-yellow-300 p-6 sm:p-8 font-mono shadow-[8px_8px_0px_#000] text-black select-none transition-all">19 <div className="border-b-4 border-black pb-4 mb-6">20 <div className="inline-block bg-black text-yellow-300 px-3 py-1 text-xs font-black uppercase tracking-wider mb-2">21 JOIN_AURENZA22 </div>23 <h2 className="text-2xl font-black uppercase tracking-tight">CREATE_ACCOUNT</h2>24 <p className="text-xs font-bold text-black/80 mt-1">Get immediate raw access to the full UI kit.</p>25 </div>2627 {submitted ? (28 <div className="border-3 border-black bg-white p-6 text-center space-y-3">29 <div className="mx-auto flex h-12 w-12 items-center justify-center border-3 border-black bg-emerald-400 font-black shadow-[3px_3px_0px_#000]">30 <Check className="h-6 w-6 stroke-[3]" />31 </div>32 <h3 className="font-black text-lg uppercase">YOU_ARE_IN!</h3>33 <p className="text-xs font-bold">Welcome aboard, {name || 'Architect'}.</p>34 <button35 onClick={() => setSubmitted(false)}36 className="mt-3 w-full border-3 border-black bg-yellow-300 py-2 text-xs font-black uppercase shadow-[3px_3px_0px_#000] hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-[1px_1px_0px_#000] transition"37 >38 RESET39 </button>40 </div>41 ) : (42 <form onSubmit={handleSubmit} className="space-y-4">43 <div>44 <label className="block text-xs font-black uppercase tracking-wider mb-1">YOUR_NAME</label>45 <input46 type="text"47 required48 value={name}49 onChange={(e) => setName(e.target.value)}50 placeholder="ALEX_RIVERA"51 className="w-full border-3 border-black bg-white px-3 py-2 text-sm font-bold uppercase placeholder:text-black/40 outline-none shadow-[3px_3px_0px_#000] focus:bg-amber-50"52 />53 </div>5455 <div>56 <label className="block text-xs font-black uppercase tracking-wider mb-1">EMAIL_ADDRESS</label>57 <input58 type="email"59 required60 value={email}61 onChange={(e) => setEmail(e.target.value)}62 placeholder="NAME@DOMAIN.COM"63 className="w-full border-3 border-black bg-white px-3 py-2 text-sm font-bold placeholder:text-black/40 outline-none shadow-[3px_3px_0px_#000] focus:bg-amber-50"64 />65 </div>6667 <div>68 <label className="block text-xs font-black uppercase tracking-wider mb-1">MASTER_PASSWORD</label>69 <input70 type="password"71 required72 value={password}73 onChange={(e) => setPassword(e.target.value)}74 placeholder="••••••••••••"75 className="w-full border-3 border-black bg-white px-3 py-2 text-sm font-bold placeholder:text-black/40 outline-none shadow-[3px_3px_0px_#000] focus:bg-amber-50"76 />77 </div>7879 <button80 type="submit"81 className="w-full border-3 border-black bg-black py-3 text-sm font-black text-yellow-300 uppercase tracking-wider shadow-[4px_4px_0px_#fff] hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-[2px_2px_0px_#fff] active:translate-x-1 active:translate-y-1 transition flex items-center justify-center gap-2 cursor-pointer"82 >83 CLAIM ACCESS NOW <ArrowRight className="h-4 w-4" />84 </button>85 </form>86 )}87 </div>88 );89}Installation & Integration Guide
Step 1: Tailwind CSS v4 Setup
Tailwind DocsIf you do not have Tailwind installed yet, run this installation command:
Terminal
npm install tailwindcss @tailwindcss/postcss postcss
Then add the Tailwind directive to your main stylesheet (globals.css):
@import "tailwindcss";
Step 2: Install Icon Dependencies
npm install lucide-react react-icons
Step 3: Add Component File
Create a new file in your project at src/components/signup/BrutalSignUp.tsx and paste the copied code from the source viewer above.
Step 4: Usage Example
ExamplePage.tsx
1import NeoBrutalistHighContrastSignUp from '@/components/signup/BrutalSignUp';23export default function ExamplePage() {4 return (5 <main className="p-8 flex items-center justify-center min-h-screen">6 <NeoBrutalistHighContrastSignUp />7 </main>8 );9}