Cocoton
I’ve always enjoyed reading Reddit stories, and one day I thought: “What if I could turn those into videos automatically?” That simple idea became Contista, a system that turns Reddit content into complete videos with voiceovers, subtitles, and background footage, then uploads them to platforms like TikTok, Instagram, and YouTube.
At first, I even built a Chrome extension to grab post data, but I eventually dropped it after losing the code in a system crash. It ended up being a blessing in disguise, I rebuilt things from scratch with better practices and a more robust architecture.
This project taught me how to build a scalable, modular system by separating services but keeping them interoperable.
I learned how to:
- Structure multi-service systems using Next.js for frontend and backend, and a separate video rendering microservice.
- Use Docker for managing local services like MongoDB and MinIO (S3-compatible storage).
- Implement Web Scraping to automate platform uploads (YouTube, TikTok, Instagram).
- Store session cookies securely to avoid repetitive logins.
- Configure dynamic defaults like subtitle language, watermarks, and voices.
- Use libraries for video generation, subtitle timing, and voice synthesis in multiple languages.
- Integrate APIs like Pexels for background video, and even Unsplash (via scraping) for images.
- Handle file storage with services like Firebase (initially), and later with self-hosted storage solutions.
- Optimize backend performance even on low-end hardware (I tested everything on a Ubuntu with 6GB RAM and i5 CPU).
- Define global TypeScript types, modularize service logic, and apply MVC architecture to keep the codebase organized and maintainable.
I have a Loom video where I explain what Contista does in a bit more detail.
There’s also a YouTube video where I showcase an earlier version of the system and explain how it worked back then.
The result is a system that not only works, it scales, automates, and simplifies content creation for multiple platforms in one go.