ContentFlow - Telegram Mini App for auto-posting videos on social media
Content automation platform: upload a video once, choose the time - and it publishes itself. Everything is managed directly from Telegram.
Problem:
The content creator is tired of manually posting the same short videos daily on YouTube, TikTok, and Instagram. They needed one tool instead of three tabs and an alarm.
What has been done:
A full-fledged Telegram Mini App built from scratch. Frontend on React - a clean mobile-first interface right inside Telegram. Backend on FastAPI on a cloud VPS: database, video processing, publishing. A background scheduler posts each video exactly at the time chosen by the user. The app pulls videos from a link, queues them, has a publication calendar, custom captions, and a posting schedule - all in one place.
The most challenging technical challenges
— Real OAuth authorization for YouTube: secure connection to the user's channel, automatic token refresh (the connection never drops), uploading via the official API.
— Complete server setup independently: Linux VPS, HTTPS with a real domain, reverse proxy, database - stable operation 24/7.
— Time zones: the server lives in UTC, but a post scheduled for "18:00" must go out at 18:00 according to the user's clock. I rebuilt the scheduler so that the time always matches the local time.
Result:
Connected the channel once → dropped the link to the video → chose the time → went about their business. Everything else is automatic.
Stack: React, FastAPI (Python), Telegram Mini Apps, YouTube Data API, OAuth 2.0, PostgreSQL, Linux VPS, Nginx.
Problem:
The content creator is tired of manually posting the same short videos daily on YouTube, TikTok, and Instagram. They needed one tool instead of three tabs and an alarm.
What has been done:
A full-fledged Telegram Mini App built from scratch. Frontend on React - a clean mobile-first interface right inside Telegram. Backend on FastAPI on a cloud VPS: database, video processing, publishing. A background scheduler posts each video exactly at the time chosen by the user. The app pulls videos from a link, queues them, has a publication calendar, custom captions, and a posting schedule - all in one place.
The most challenging technical challenges
— Real OAuth authorization for YouTube: secure connection to the user's channel, automatic token refresh (the connection never drops), uploading via the official API.
— Complete server setup independently: Linux VPS, HTTPS with a real domain, reverse proxy, database - stable operation 24/7.
— Time zones: the server lives in UTC, but a post scheduled for "18:00" must go out at 18:00 according to the user's clock. I rebuilt the scheduler so that the time always matches the local time.
Result:
Connected the channel once → dropped the link to the video → chose the time → went about their business. Everything else is automatic.
Stack: React, FastAPI (Python), Telegram Mini Apps, YouTube Data API, OAuth 2.0, PostgreSQL, Linux VPS, Nginx.