8000 GitHub - iboughtbed/ai-podcast: An Open-Source Platform to create AI-powered podcasts, audiobooks, and audio articles.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

iboughtbed/ai-podcast

Repository files navigation

Parallax Podcast

An Open-Source Platform to create AI-powered podcasts, audiobooks, and audio articles.

What is Parallax?

Parallax is an open-source AI platform solution that gives users the power to generate their own podcasts, audiobooks, and audio articles from prompts, documents, images and web search.

Why Parallax?

A lot of services today are either closed-source, slow, have bad UX, or to complex to self-host. Parallax is different.

  • Open-Source – No hidden agendas, fully transparent.
  • 🦾 AI Driven - Enhance your podcasts with Agents & LLMs.
  • 🔒 Data Privacy First – Your projects, your data. No tracking, no selling, no middlemen.
  • ⚙️ Self-Hosting Freedom – Run your own app with ease.
  • 🎨 Customizable UI & Features – Tailor your platform experience the way you want it.
  • 🚀 Developer-Friendly – Built with extensibility and integrations in mind.

Tech Stack

Parallax is built with modern and reliable technologies:

  • Frontend: Next.js, React, TypeScript, TailwindCSS, Shadcn UI
  • Backend: Node.js, Drizzle ORM, Redis, AI SDK
  • Database: PostgreSQL
  • Authentication: Better Auth, Google OAuth, Github OAuth
  • Payment: Polar

Getting Started

Prerequisites

Required Versions:

Before running the application, you'll need to set up services and configure environment variables. For more details on environment variables, see the Environment Variables section.

Setup

Quick Start Guide

  1. Clone and Install

    # Clone the repository
    git clone https://github.com/iboughtbed/ai-podcast.git
    cd ai-podcast
    
    # Install dependencies
    pnpm install
  2. Set Up Environment

    • Copy .env.example to .env in both apps/web and packages/db folders
      cp apps/web/.env.example apps/web/.env && cp packages/db/.env.example packages/db/.env
    • Configure your environment variables (see below)
    • Initialize the database: pnpm run db:push
  3. Start the App

    pnpm run dev
  4. Open in Browser

    Visit http://localhost:3000

Environment Setup

  1. Better Auth Setup

    • Open the .env file and change the BETTER_AUTH_SECRET to a random string. (Use openssl rand -hex 32 to generate a 32 character string)

      BETTER_AUTH_SECRET=your_secret_key
  2. Google OAuth Setup (Required for Gmail integration)

    • Go to Google Cloud Console

    • Create a new project

    • Add the following APIs in your Google Cloud Project: People API, Gmail API

    • Enable the Google OAuth2 API

    • Create OAuth 2.0 credentials (Web application type)

    • Add authorized redirect URIs:

      • Development:
        • http://localhost:3000/api/auth/callback/google
        • http://localhost:3000/api/auth/google/callback
      • Production:
        • https://your-production-url/api/auth/callback/google
        • https://your-production-url/api/auth/google/callback
    • Add to .env:

      GOOGLE_CLIENT_ID=your_client_id
      GOOGLE_CLIENT_SECRET=your_client_secret
    • Add yourself as a test user:

      • Go to Audience
      • Under 'Test users' click 'Add Users'
      • Add your email and click 'Save'
  3. GitHub OAuth Setup (Optional)

    Click to expand GitHub OAuth setup instructions
    • Go to GitHub Developer Setting

    • Create a new OAuth App

    • Add authorized redirect URIs:

      • Development: http://localhost:3000/api/auth/callback/github
      • Production: https://your-production-url/api/auth/callback/github
    • Add to .env:

      GITHUB_CLIENT_ID=your_client_id
      GITHUB_CLIENT_SECRET=your_client_secret

Environment Variables

Copy .env.example located in the apps/web folder to .env in the same folder and configure the following variables:

# Auth
BETTER_AUTH_SECRET=     # Required: Secret key for authentication

# Google OAuth (Required for Gmail integration)
GOOGLE_CLIENT_ID=       # Required for Gmail integration
GOOGLE_CLIENT_SECRET=   # Required for Gmail integration

# GitHub OAuth (Optional)
GITHUB_CLIENT_ID=       # Optional: For GitHub authentication
GITHUB_CLIENT_SECRET=   # Optional: For GitHub authentication

# Database
DATABASE_URL=           # Required: PostgreSQL connection string for backend connection

# Redis
REDIS_URL=              # Redis URL for caching (http://localhost:8079 for local dev)
REDIS_TOKEN=            # Redis token (upstash-local-token for local dev)
DATABASE_URL=          # Required: PostgreSQL connection string for migrations

For local development a connection string example is provided in the .env.example file located in the same folder as the database.

Database Setup

  1. Database Commands

    • Set up database tables:

      pnpm run db:push
    • Create migration files (after schema changes):

      pnpm run db:generate
    • Apply migrations:

      pnpm run db:migrate
    • View database content:

      pnpm run db:studio

Contribute

Please refer to the contributing guide.

If you'd like to help with translating Zero to other languages, check out our translation guide.

Star History

Star History Chart

This project wouldn't be possible without these awesome companies

🤍 The team

Hey, my name is Sanzhar. I am a young software engineer from Kazakhstan. I am an alumni of nFactorial Incubator - largest incubator in Central Asia. I have contributed to YCombinator startups, directly worked with alumnis of YCombinator 2024 Batches. I have been nominated for "Prodigy of The Year" on nFactorial Incubator, where I created Parallax.

About

An Open-Source Platform to create AI-powered podcasts, audiobooks, and audio articles.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0