An open-source library for discovering, creating, and sharing AI prompts.
PromptWhiz is a full-stack web app where users can discover, publish, and copy AI prompts. Sign in with Google, write a prompt, tag it, and share it with the community. Browse and search the archive by tag or username.
The UI is built with a dark editorial aesthetic — Syne display font, JetBrains Mono for prompt content, and an acid lime accent palette.
- Google OAuth sign-in via NextAuth.js
- Create, edit, and delete your own prompts
- Browse the feed — all community prompts in a masonry grid
- Search by tag or username with debounced filtering
- Copy to clipboard any prompt in one click
- Profile pages — view your own or any other user's prompts
- Responsive — works on mobile and desktop
| Layer | Technology |
|---|---|
| Framework | Next.js 13 (App Router) |
| Auth | NextAuth.js (Google OAuth) |
| Database | MongoDB + Mongoose |
| Styling | Tailwind CSS + custom CSS variables |
| Fonts | Syne, JetBrains Mono (Google Fonts) |
PromptWhiz/
├── app/
│ ├── api/
│ │ ├── auth/[...nextauth]/ # NextAuth handler
│ │ ├── prompt/ # GET all, POST new
│ │ ├── prompt/[id]/ # GET, PATCH, DELETE by id
│ │ └── users/[id]/posts/ # GET prompts by user
│ ├── create-prompt/ # Create page
│ ├── update-prompt/ # Edit page
│ ├── profile/ # Own profile
│ ├── profile/[id]/ # Other user's profile
│ ├── layout.jsx # Root layout + Nav
│ └── page.jsx # Home feed
├── components/
│ ├── Feed.jsx # Search + masonry grid
│ ├── Form.jsx # Shared create/edit form
│ ├── Nav.jsx # Navigation bar
│ ├── Profile.jsx # Profile layout
│ ├── PromptCard.jsx # Individual prompt card
│ └── Provider.jsx # NextAuth session provider
├── models/
│ ├── prompt.js # Prompt schema
│ └── user.js # User schema
├── styles/
│ └── globals.css # Design tokens + component styles
└── utils/
└── database.js # MongoDB connection
- Node.js v18+
- A MongoDB database (local or MongoDB Atlas)
- A Google OAuth app (Google Cloud Console)
git clone https://github.com/leonardoo210399/PromptWhiz.git
cd PromptWhiz
npm installCreate a .env.local file in the root:
MONGODB_URI=your_mongodb_connection_string
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_nextauth_secretnpm run devOpen http://localhost:3000.
- Like / bookmark prompts
- Comments on prompts
- Prompt version history
- Collections / folders
- More OAuth providers (GitHub, Discord)
Fork the repo, create a branch, and open a pull request. All contributions welcome.
MIT — see LICENSE for details.
