https://github.com/underprotectiondev/ai-podcast-platform-convex
AI Podcast Platform
https://github.com/underprotectiondev/ai-podcast-platform-convex
Last synced: 19 days ago
JSON representation
AI Podcast Platform
- Host: GitHub
- URL: https://github.com/underprotectiondev/ai-podcast-platform-convex
- Owner: UnderprotectionDev
- Created: 2025-02-23T02:36:05.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-23T02:42:39.000Z (over 1 year ago)
- Last Synced: 2025-02-23T03:24:56.658Z (over 1 year ago)
- Language: CSS
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# AI Podcast Platformπ
A cutting-edge AI-powered podcast creation platform built with Next.js and powered by Convex's real-time backend. Generate dynamic podcasts with multiple AI voices (alloy, shimmer, nova, echo, fable, onyx) and create stunning thumbnails using DALL-E 3, all synchronized in real-time across devices.

[](https://nextjs.org/)
[](https://www.typescriptlang.org/)
[](https://www.convex.dev/)
[](https://clerk.com/)
[](https://openai.com/)
[](https://zod.dev/)
[](https://tailwindcss.com/)
[](https://ui.shadcn.com/)
[](https://vercel.com/)
## β¨ Features
| Feature | Description |
| ---------------------------- | ---------------------------------------------------------------------------------------------- |
| ποΈ AI Podcast Generation | Create podcasts with different AI voices including alloy, shimmer, nova, echo, fable, and onyx |
| πΌοΈ AI Thumbnail Generation | Generate custom thumbnails with DALL-E 3 using natural language prompts |
| π Smart Content Discovery | Find podcasts through multi-field search by author, title, or description |
| π Real-time Synchronization | Experience instant, real-time updates powered by Convex's reactive backend |
| π Secure Authentication | Protect user data with secure authentication via Clerk |
| π± Responsive Design | Enjoy a consistent experience across all devices with a modern, responsive design |
| π₯ User Profiles | View creator profiles and their podcast collections |
| π¬ Transcriptions | Access full transcripts of AI-generated podcast content |
## π Tech Highlights
- OpenAI integration for TTS (Text-to-Speech) podcast generation and DALL-E 3 image creation
- Real-time database with Convex for reactive data synchronization across all clients
- Clean, type-safe API layer ensuring robust and maintainable code
- Modern UI components built with shadcn/ui and styled using Tailwind CSS
- Edge-ready deployment for fast, scalable, and reliable performance
## π Quick Start
```bash
# Clone the repository
git clone https://github.com/yourusername/ai-podcast-platform-convex.git
# Navigate into the project directory
cd ai-podcast-platform-convex
# Install dependencies
npm install
# Create your environment variables file
cp .env.example .env
# (Optional) Start the local Convex development server
npx convex dev
# Start the development server
npm run dev
```
Visit [http://localhost:3000](http://localhost:3000) to explore the application.
## π οΈ Tech Stack
Click to expand tech stack details
### Core Frameworks
- **[Next.js](https://nextjs.org/)** - React framework with App Router for server-side rendering and static site generation
- **[TypeScript](https://www.typescriptlang.org/)** - Enhances development experience with robust type safety
- **[React](https://reactjs.org/)** - Library for building interactive user interfaces
### Backend & Data
- **[Convex](https://www.convex.dev/)** - Real-time backend that simplifies dynamic data management and synchronization
- **[Uploadstuff](https://uploadstuff.vercel.app/)** - For handling file uploads to the Convex backend
### Authentication
- **[Clerk](https://clerk.com/)** - Complete authentication and user management solution
### Artificial Intelligence
- **[OpenAI](https://openai.com/)** - Powers the podcast TTS generation and image creation features
### Form Management & Validation
- **[React Hook Form](https://react-hook-form.com/)** - Efficient form management
- **[Zod](https://zod.dev/)** - Type-first schema validation for safe form handling
### UI & Styling
- **[Tailwind CSS](https://tailwindcss.com/)** - Utility-first CSS framework for rapid UI development
- **[Shadcn/ui](https://ui.shadcn.com/)** - Unstyled, accessible components built with Radix UI and Tailwind
- **[Lucide Icons](https://lucide.dev/)** - Beautiful, consistent icon set
- **[Embla Carousel](https://www.embla-carousel.com/)** - Flexible carousel/slider library
- **[Sonner](https://sonner.emilkowal.ski/)** - Toast notifications for React applications
### Development & Deployment
- **[ESLint](https://eslint.org/)** - Code quality and consistency
- **[Prettier](https://prettier.io/)** - Automated code formatting
- **[Vercel](https://vercel.com/)** - Deployment platform optimized for Next.js
## πΈ Screenshots
### Discover Page

### Podcast Creation

### Podcast Page

### Profile Page

## π Environment Variables
Add the following environment variables to your Convex environment variables:
| Variable | Description |
| ----------------------------------- | ----------------------------------------------------- |
| `CONVEX_DEPLOYMENT` | Convex deployment identifier |
| `NEXT_PUBLIC_CONVEX_URL` | URL for the Convex backend service |
| `NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY` | Clerk publishable key for client-side authentication |
| `CLERK_SECRET_KEY` | Clerk secret key for server-side authentication |
| `CLERK_WEBHOOK_SECRET` | Clerk issuer URL (Add to Convex Environment Variable) |
| `OPENAI_API_KEY` | API key for OpenAI integration |
Example .env file content:
```
CONVEX_DEPLOYMENT= // Convex deployment identifier
NEXT_PUBLIC_CONVEX_URL= // URL for the Convex backend service
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY= // Clerk publishable key for client-side authentication
CLERK_SECRET_KEY= // Clerk secret key for server-side authentication
CLERK_WEBHOOK_SECRET= // Clerk webhook secret for handling webhooks
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
OPENAI_API_KEY= // API key for OpenAI integration
```