TL;DW is a web application that saves you time by providing AI-powered summaries of YouTube videos. Paste a YouTube link and get the key takeaways instantly, without watching the whole video. See it in action here
This utilizes the python tldw library on the backend to get the YouTube summaries.
- AI-Powered Summaries: Get concise and accurate summaries of any YouTube video.
- Streaming Responses: See the summary generated in real-time.
- Sleek Interface: A modern and user-friendly interface for a smooth experience.
- Time-Saving: Avoids long intros, ads, and filler content to get straight to the point.
Note on Fly: This was originally deployed in an AWS lambda, then GCS cloud run, then finally to Fly as I hoped that I could find a cloud provider who's IP range wasn't blocked by Youtube. I ended up going with a redisential proxy provider, but I kept the deployment in Fly given the generous egress traffic limit of ~160gb/month versus GCP's 1gb/month limit.
-
Clone the repository:
git clone https://github.com/DavidZirinsky/tldw-site.git cd tldw-site -
Setup Backend:
- Navigate to the backend directory:
cd backend - Set up your environment variables by copying the example:
cp .env.example .env
- Fill in your
OPENAI_API_KEYand other variables in the.envfile. - Run the backend server:
docker compose up -d && docker logs tldw -f
- Navigate to the backend directory:
-
Setup Frontend:
- In a new terminal, navigate to the frontend directory:
cd frontend - Install dependencies:
pnpm install
- Run the development server:
pnpm run dev
- In a new terminal, navigate to the frontend directory:
To run the linter and check for code quality, run the following command in the frontend directory:
pnpm run lint- "Module not found" errors: Make sure you've run
pnpm installin the frontend directory - Backend connection failed: Ensure Docker is running and the backend container is up with
docker compose up -d - OpenAI API errors: Check that your
OPENAI_API_KEYis correctly set in the.envfile - Port already in use: The frontend runs on port 3000 and backend on 8000. Kill any processes using these ports or change them in the configuration
- Docker permission denied: On Linux, you may need to run Docker commands with
sudoor add your user to the docker group
This project is configured for deployment on Fly.io.
-
Create a Fly.io app:
fly apps create tl-dw
-
Import secrets: Make sure your
.envfile is populated, then run:fly secrets import < .env -
Deploy the application:
fly deploy
We welcome contributions to TL;DW! Here's how you can help:
- Fork the repository and create your feature branch from
main - Make your changes following the existing code style and conventions
- Test your changes by running the linter:
pnpm run lintin the frontend directory - Commit your changes with a clear and descriptive commit message
- Push to your fork and submit a pull request
- Follow the existing code style and formatting
- Add comments for complex logic
- Test your changes thoroughly before submitting
- Keep commits focused and atomic
- Write clear commit messages
For bug reports or feature requests, please open an issue on GitHub.
