https://github.com/waynesutton/promptboard
https://github.com/waynesutton/promptboard
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/waynesutton/promptboard
- Owner: waynesutton
- Created: 2025-04-19T04:45:28.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-10T06:13:35.000Z (about 1 year ago)
- Last Synced: 2025-07-02T09:08:56.895Z (12 months ago)
- Language: TypeScript
- Size: 557 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# The 1 Million Prompts Image Generator Challenge.
## About
** Join the 1 Million Prompts Image Generator Challenge.** is a community-powered AI image generator contest built with Convex, Convex Chef, and OpenAI. Every image contributes to a global goal: reaching 1,000,000 AI-generated prompts.
Track progress in real-time, explore a living prompt gallery, and generate images in your favorite stylesβfrom Pixar to pop art to thermal silhouettes.
This isn't just another image app. It's a vibe-coded global challenge.
---
## Contest
Submit your best AI-generated image using one of the featured styles. You're eligible to win:
- π $1,000 for most creative prompt + image
- β€οΈ Prize for most liked prompt
- π₯ Bonus for submitting the **1 millionth prompt**
### How to enter:
1. Generate an image using the app
2. Add your prompt author name and social handle
3. Share your image on social media
Winners will also receive Convex swag and startup credits. Let the prompt cooking begin.
## Features
- **AI Image Generation**:
- Input custom text prompts to describe the desired image.
- Utilize model for high-quality image creation.
- Select from a diverse range of predefined artistic styles (see below).
- Monitor generation progress with a real-time loading indicator featuring cycling images and cooking-themed status words.
- **Artistic Style Selection**: Choose a style to influence the generated image:
- Studio Laika (Stop-motion animation aesthetic)
- 3D Soft (Smooth, Pixar-like animation style)
- Ghibli (Painterly watercolor visuals)
- 80s Anime (Classic retro anime look)
- T206 Vintage (Early 20th-century baseball card style)
- Futuristic (Sleek, high-tech visuals)
- B&W (Classic black and white)
- Photorealistic Portrait (Hyper-realistic, detailed portraiture)
- Realism (Accurate lighting, textures, and proportions)
- Immersive Photo-Real (Richly detailed, cinematic photograph style)
- Lifestyle Realism (Candid everyday life, natural lighting)
- Thermal Silhouette (Digital thermal gradient figure)
- Knitted Toy (Handcrafted yarn toy aesthetic)
- Sticker (Vibrant, flat design with bold outlines)
- Low Poly (Minimalist 3D geometric shapes)
- Marvel (Dynamic comic book style)
- Retro Anime (Vintage 1980s anime visuals)
- Pop Art (Bold, high-contrast, stylized like Warhol)
- Oil on Canvas (Textured brushstrokes, layered colors)
- Pixar (Charming 3D animation style)
- Caricature (Exaggerated, humorous illustration)
- Convex (Clean, modern, brand-inspired minimalist design)
- AI Founder (Stylized anime trading card for tech founders)
- VC Mode Edition (Conference badge style for VCs)
- Infra Eng Mode (Dark-mode, tactical aesthetic for infra engineers)
- Founder Hacker Card (Gritty, neon-lit hacker founder vibe)
- Pixel Art (16-bit RPG sprite style)
- **Community Gallery & Interaction**:
- Browse generated images in a dynamic, responsive grid layout.
- Images load progressively as you scroll or via a "Load More" button.
- Click any image to open a modal for a larger view and details (prompt, style).
- Navigate images within the modal using on-screen left/right arrows (appear on hover), keyboard arrow keys, or swipe gestures (trackpad/mobile).
- Interact with images in the modal: Add likes, view/add comments, and copy direct shareable links.
- Download generated images directly from the modal.
- Add optional author name and social link to generated images (one time per image).
- Report inappropriate images via a pre-filled GitHub issue link in the modal.
- **Global Goal Tracking**:
- A prominent counter displays the total number of images generated by the community in real-time.
- Tracks progress towards the collective goal of one million prompts.
- Displays a celebratory message ("Greatness Modal") when the goal is reached.
- **Dashboard**:
- View key statistics and trends.
- See the total prompt count and goal progress.
- Access different data views via tabs:
- Last 20 Prompts
- Last 20 Styles Used
- All Prompts (paginated view)
- 20 Most Liked Images
- 20 Most Commented Images
- Clickable prompts in tables link directly to the image view, incrementing a click counter.
## Tech Stack
- Frontend: React + Vite
- Backend: Convex
- Styling: TailwindCSS
- AI: OpenAI
- Language: TypeScript
## Getting Started
1. Clone the repository
2. Install dependencies: `npm install`
3. Set up environment variables:
- Add OpenAI API key to Convex environment
4. Start development server: `npm run dev`
## Environment Setup
Add your OpenAI API key to Convex:
1. Open Convex dashboard
2. Go to Settings
3. Add `openai_API_KEY` environment variable
## Usage
1. Enter a prompt
2. Select a style
3. Generate AI image
4. View in gallery
5. Interact with likes and comments
## Contributing
Feel free to submit issues and enhancement requests.
## Project Structure
```
.
βββ convex/ # Convex backend functions and schema
β βββ _generated/ # Auto-generated Convex files
β βββ auth.config.ts # Authentication configuration
β βββ auth.ts # Authentication helper functions
β βββ functions.ts # General utility functions (if any)
β βββ gallery.ts # Core image generation and gallery logic
β βββ http.ts # HTTP endpoints (if any)
β βββ schema.ts # Database schema definition
βββ public/ # Static assets (e.g., images, fonts)
βββ src/ # Frontend source code
β βββ components/ # Reusable React components
β β βββ ui/ # UI library components (e.g., Shadcn)
β βββ hooks/ # Custom React hooks
β βββ lib/ # Utility functions for the frontend
β βββ App.tsx # Main application component with routing
β βββ Dashboard.tsx # Dashboard page component
β βββ Home.tsx # Home page component
β βββ SignInForm.tsx # Sign-in form component
β βββ SignOutButton.tsx # Sign-out button component
β βββ index.css # Global styles
β βββ main.tsx # Application entry point
βββ .env.local # Local environment variables (Gitignored)
βββ .gitignore # Specifies intentionally untracked files
βββ README.md # Project documentation (this file)
βββ bun.lockb # Bun lockfile
βββ index.html # Main HTML entry point for Vite
βββ package.json # Project metadata and dependencies
βββ postcss.config.cjs # PostCSS configuration
βββ tailwind.config.js # Tailwind CSS configuration
βββ tsconfig.json # Base TypeScript configuration
βββ tsconfig.app.json # TypeScript configuration for the app
βββ tsconfig.node.json # TypeScript configuration for Node contexts
βββ vite.config.ts # Vite configuration
```
## Understanding Convex
Learn more about the concepts and best practices behind Convex:
- [Convex Overview](https://docs.convex.dev/understanding/)
- [Development Workflow](https://docs.convex.dev/understanding/workflow)
- [Best Practices](https://docs.convex.dev/understanding/best-practices/)
- [TypeScript Best Practices](https://docs.convex.dev/understanding/best-practices/typescript)
- [Environment Variables](https://docs.convex.dev/production/environment-variables)
- [AI Code Generation](https://docs.convex.dev/ai)
## Hosting
- Netlify for hosting
- Instructions, visit the [Convex deployment guide](https://docs.convex.dev/production/hosting/netlify/).
[](https://app.netlify.com/sites/1millionprompts/deploys)
## π License
This project is open source and available under the MIT License.
## Credits
Built with [Chef](https://convex.link/1millchefs)
# 1 Million Prompts Contest