
- π Introduction
- βοΈ Tech Stack
- π€ Key AI-powered features include
- πΈοΈ Features
- π€Έ Quick Start
- πͺ΄ Usage
- π Project Structure
- π Deployment
- π Assets
- π€ Contributing
- π License
Podly revolutionizes the way people interact with podcasts by integrating cutting-edge AI technology into every aspect of the platform. From content creation to personalized recommendations, Podly makes podcasting more accessible, efficient, and enjoyable for everyone. This is an innovative podcast management and discovery platform that leverages artificial intelligence (AI) to enhance the podcasting experience for both creators and listeners.
- Next.js 15
- React.js
- TypeScript
- Tailwind CSS
- ShadCN UI
- React Query
- PostgreSQL (Supabase)
- Prisma ORM
- VercelAI + Gemini + Unsplash (AI-powered content generation)
- React Hook Form + Zod (Form validation)
- Husky + Lint-staged (Code quality)
-
AI-Assisted Podcast Creation: Simplify the podcast creation process with AI tools that help with content ideation, script generation, and even voice synthesis for those who prefer not to record themselves.
-
AI-Generated Thumbnails: Automatically create eye-catching podcast thumbnails based on episode content, saving time for creators and improving visual appeal for listeners.
- AI-assisted podcast creation and editing
- AI-generated thumbnails and artwork
- User profiles and preference learning
- Global search and filtering
- Similar podcast recommendations
- Optimistic UI updates and prefetching
- Optimized performance with data caching
Follow these steps to set up the project locally on your machine.
Prerequisites
Make sure you have the following installed on your machine:
- Git - for version control
- Node.js - for running JavaScript on the server
- pnpm - for package management
- Clone the repository:
git clone https://github.com/[user-username]/Podly.git
- Install dependencies:
pnpm install
- Set up environment variables:
Create a .env
file in the root directory and add the necessary environment variables (refer to .env.example
for required variables).
// Clerk
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY = ""
CLERK_SECRET_KEY = ""
NEXT_PUBLIC_CLERK_SIGN_IN_URL = "/sign-in"
NEXT_PUBLIC_CLERK_SIGN_UP_URL = "/sign-up"
// Google text content generator
GOOGLE_GENERATIVE_AI_API_KEY = ""
// Unsplash API Key
UNSPLASH_API_KEY = ""
// Supabase
NEXT_PUBLIC_SUPABASE_URL = ""
NEXT_PUBLIC_SUPABASE_ANON_KEY = ""
// Connect to Supabase via connection pooling with Supavisor.
DATABASE_URL = ""
// Direct connection to the database. Used for migrations.
DIRECT_URL = ""
Replace the placeholder values with your actual respective account credentials.
- Run the development server:
pnpm run dev
- Open your browser and navigate to
http://localhost:3000
-
Create a Podcast: Click on
Create
and use our AI-assisted tools to generate ideas, write scripts, or even synthesize voices for your podcast. -
Discover New Content: Explore our AI-curated recommendations or use the smart search feature to find podcasts that match your interests.
app/
: Next.js app router and page componentscomponents/
: Reusable React componentsprisma/
: Prisma schema and migrationsconstants/
: Application-wide constantspublic/
: Static assetshooks/
: React custom hookslib/
: Utility functions and API clientstype/
: TypeScript types
The app is configured for easy deployment on Vercel
. Connect your GitHub repository
to Vercel for automatic deployments on each push to the main branch.
Static assets like images, fonts etc. are stored in the public
directory and referenced using the /
path prefix.
Contributions are welcome! Please feel free to submit a Pull Request.
To contribute:
Fork the repository
Create your feature branch (git checkout -b feature/your-feature
)
Commit your changes (git commit -m 'feat: add your feature'
)
Push to the branch (git push origin feature/your-feature
)
Open a pull request
This project is licensed under the Apache License - see the LICENSE file for details.
Laxman Rathod - @Linkedin - laxmanrathod.dev@gmail.com
Project Link: https://github.com/laxmanrathod69/Podly