- 🤖 Introduction
- ⚙️ Tech Stack
- 🔋 Features
- 🤸 Quick Start
The AI Podcast Platform is a state-of-the-art AI SaaS platform that empowers users to create, discover, and enjoy podcasts. It offers advanced features like text-to-audio conversion with multi-voice AI, podcast thumbnail generation, and seamless playback functionality.
- Next.js
- TypeScript
- Convex
- OpenAI
- Clerk
- ShadCN
- Tailwind CSS
- 👉 Robust Authentication: Secure user login and registration system powered by Clerk.
- 👉 Modern Home Page: Displays trending podcasts with a sticky podcast player for uninterrupted listening.
- 👉 Discover Podcasts Page: Dedicated section to explore new and popular podcasts.
- 👉 Fully Functional Search: Allows users to search for podcasts using various criteria.
- 👉 Create Podcast Page:
- Text-to-audio podcast creation.
- AI-generated podcast thumbnails.
- Preview functionality for content before publishing.
- 👉 Multi-Voice AI Functionality: Leverages AI to create podcasts with multiple voice options.
- 👉 Profile Page: View all created podcasts and manage them (e.g., delete podcasts).
- 👉 Podcast Details Page:
- Displays creator information.
- Includes listener stats and transcript details.
- 👉 Podcast Player: Advanced controls for forward/backward, mute/unmute functionality, and smooth playback.
- 👉 Responsive Design: Fully optimized for all devices and screen sizes.
- 👉 Code Architecture: Built with reusable and scalable components.
Follow these steps to set up the project locally:
Ensure the following are installed on your system:
Clone the project and navigate into the directory:
git clone https://github.com/adrianhajdin/jsm_podcastr.git
cd jsm_podcastr
Install the required dependencies:
npm install
Create a .env
file in the root directory and add the following:
CONVEX_DEPLOYMENT=
NEXT_PUBLIC_CONVEX_URL=
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL='/sign-in'
NEXT_PUBLIC_CLERK_SIGN_UP_URL='/sign-up'
Replace the placeholders with your Convex and Clerk credentials, which can be obtained from their official websites:
Start the development server:
npm run dev
Access the application at http://localhost:3000 in your web browser.
Feel free to report issues or contribute to enhance this project!