A satirical web app based on Charlie Kelly's "Bird Law" expertise from It's Always Sunny in Philadelphia. Features a custom programming language syntax for prosecuting, defending, and settling bird-related legal cases.
- 🎯 Custom Bird Law Syntax - A comedic legal language with validation
- ⚖️ Real-time Case Analysis - Instant feedback from "Charlie Kelly"
- 🎨 Beautiful UI - Built with Next.js, Tailwind CSS, and shadcn/ui
- 🖼️ Giphy Integration - Display GIFs from the show
- 📝 Code Examples - Multiple Bird Law case templates
ACCUSE [bird] OF [crime] - File formal charges
DEFEND [bird] BECAUSE [reason] - Provide legal defense
SUMMON [bird] TO COURT - Issue court summons
FINE [bird] [amount] WORMS - Impose financial penalty
DECLARE [bird] [status] - Make official declaration
SETTLE WITH [bird] FOR [terms] - Reach settlement agreement
- Framework: Next.js 14 (App Router)
- Styling: Tailwind CSS
- Components: shadcn/ui
- Language: TypeScript
- Deployment: Vercel (recommended)
- Node.js 18+ installed
- npm or yarn package manager
- Clone the repository:
git clone <your-repo-url>
cd bird-law-app- Install dependencies:
npm install
# or
yarn install-
(Optional) Configure Giphy API:
- Get a free API key from developers.giphy.com
- Copy
.env.exampleto.env.local - Add your API key:
NEXT_PUBLIC_GIPHY_API_KEY=your_actual_api_key- Update
components/GiphyGallery.tsxto use the environment variable
-
Run the development server:
npm run dev
# or
yarn dev- Open http://localhost:3000 in your browser
- Push your code to GitHub, GitLab, or Bitbucket
- Go to vercel.com
- Click "New Project"
- Import your repository
- Vercel will auto-detect Next.js settings
- (Optional) Add environment variables in project settings:
NEXT_PUBLIC_GIPHY_API_KEY
- Click "Deploy"
- Install Vercel CLI:
npm i -g vercel- Login to Vercel:
vercel login- Deploy:
vercel- Follow the prompts to deploy
If using the Giphy API, add the environment variable in Vercel:
- Go to your project settings
- Navigate to "Environment Variables"
- Add:
NEXT_PUBLIC_GIPHY_API_KEYwith your API key
bird-law-app/
├── app/
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ └── page.tsx # Home page
├── components/
│ ├── ui/ # shadcn/ui components
│ │ ├── button.tsx
│ │ ├── card.tsx
│ │ └── textarea.tsx
│ ├── BirdLawEditor.tsx # Main editor component
│ └── GiphyGallery.tsx # GIF gallery
├── lib/
│ ├── bird-law-parser.ts # Language parser
│ └── utils.ts # Utility functions
├── package.json
├── tailwind.config.js
└── tsconfig.json
ACCUSE seagull OF stealing beach snacks
SUMMON seagull TO COURT
ACCUSE hummingbird OF aggressive behavior
DEFEND hummingbird BECAUSE territorial instincts are natural
DECLARE hummingbird INNOCENT
ACCUSE crow OF property damage
FINE crow 300 WORMS
SETTLE WITH crow FOR community service at local park
Edit lib/bird-law-parser.ts to add new commands or modify existing ones.
- Edit
app/globals.cssfor global styles - Modify Tailwind config in
tailwind.config.js - Update component styles in individual component files
Edit the quotes array in app/page.tsx to add more Charlie Kelly quotes.
This is a satirical fan project. Feel free to fork and customize!
This project is for educational and entertainment purposes only. It's Always Sunny in Philadelphia and all related characters are property of their respective owners.
- Inspired by Charlie Kelly's "Bird Law" from It's Always Sunny in Philadelphia
- Built with Next.js
- UI components from shadcn/ui
- GIFs powered by Giphy
"I'm not saying I agree with it. It's just that bird law in this country—it's not governed by reason." - Charlie Kelly