Inspiration

As a YouTube creator, it is important to maintain a website and mailing list for a channel to connect with your audience off of the platform. Since I focus on coding tutorials, members often want to be able to quickly scroll through a tutorial in text form and see screenshots, bullet points, and code snippets as they follow along.

What it does

Streamline integrates with existing content creator platforms, beginning with Ghost. Creators simply select one or more videos from their channel and click submit. Within minutes, written content is generated and pushed to their website. From here, the creator can make edits or send the written content as an email newsletter.

How we built it

We used React + MaterialUI for the frontend. Backend is written in Python/Flask with a celery task queue. We use the AssemblyAI API, cohere, and hugging face to transcribe the video's audio, extract screenshots, summarize text, and create bullet points. This content is saved as markdown. We use the Ghost API to publish the content as a formatted HTML page.

Challenges we ran into

YouTube API throttling. Slow download. Slow ffmpeg screenshot extraction.

Accomplishments that we're proud of

Proud to have deployed and shipped an end-to-end project (including domain, VPS deployment, frontend, backend, task queue, and multiple API's) in such a short time. We also learned a ton about AssemblyAI, HuggingFace, and cohere while building this.

What we learned

It would be great to have various templates for basic UI and server configuration. Eg. celery, supervisord, systemctl, nginx, etc.

What's next for Streamline - Beautiful Websites for Your YouTube Channel

The most important roadmap item is to improve the generated output that is published on the website so that the creator has to make minimal edits. We are working on OCR to point-in-time code snippets from the video. We also plan to expand to additional content platforms such as WordPress and course creator platforms like Teachable.

Built With

Share this project:

Updates