# How to Vibe Code Your Own Repurpose.io (and Stop Paying for It)

> Save Time, Simplify Content Sharing

- Site: https://repurpose.io
- Category: Content Automation & Social Media Distribution
- Verdict: **Serious undertaking** (42/100 vibecodeable)
- Estimated effort: 6+ weeks of part-time engineering

## Verdict

Build a personal subset for one or two platforms, or keep paying because navigating official social media API approvals and video transcoding pipelines is brutal.

While the core idea of a workflow engine is simple, trying to replicate Repurpose.io for personal use forces you into the nightmare of social media API verification. Meta, TikTok, and Google impose strict approval gates, aggressive rate limits, and frequent breaking changes on video upload endpoints. On top of auth complexity, you have to build a reliable cloud video processing pipeline using FFmpeg that won't bankrupt your server hosting bills on egress and compute.

### What you can't replicate

- Official Meta and TikTok app review status and high-quota developer tokens
- Pre-built native integrations for 15+ disparate cloud and social platforms

## What it does

A cloud-based content automation and distribution platform that ingests source content from video, live stream, or social feeds and automatically syndicates, reformats, strips watermarks, and publishes across multiple social networks.

### Core features

- OAuth account connection manager for YouTube, TikTok, Instagram, and Facebook
- Workflow builder linking a source platform to multiple destination platforms
- Automated webhook listener / polling job for new source content
- Video transcoding pipeline using FFmpeg for aspect ratio reformatting and watermark stripping
- Cloud storage backup worker for Google Drive and Dropbox
- Post scheduling and publishing queue with retry logic
- Usage tracking and free-tier publish limiting

## The business

### Pricing

- Starter Plan: $35/mo — Perfect for solo content creators and small businesses.
- Pro Plan: $79/mo — Best for growing teams and multi-brand managers.
- Agency Plan: $179/mo — Designed for agencies handling multiple clients.

Founded 2016.
Team size: ~11 employees.

## The hard parts

- Navigating brittle official social platform APIs, strict rate limits, and frequent endpoint deprecations
- Orchestrating asynchronous background worker queues for heavy cloud video downloads and FFmpeg rendering
- Managing complex OAuth token refresh cycles and encrypted credential storage across dozens of connected accounts
- Handling downstream platform spam filters and idempotent retry strategies for failed video uploads

## How to vibe code Repurpose.io

### Prerequisites

- Node.js (free): Runtime environment for Next.js and backend background worker scripts.
- GitHub (free): Source code repository and CI/CD triggers for deployment.
- Meta Developer & TikTok Developer Accounts (free): Required to obtain API client credentials for testing video publishing.

### Recommended AI tools

- Claude Code: Best for scaffolding the full-stack Next.js application, database schema, and background queue processors.
- Cursor: Ideal for fine-tuning the complex UI workflow builder and API integration forms.

### Stack

- Frontend: Next.js
- Backend: Next.js API Routes / Inngest
- Database: Neon
- Auth: better-auth
- Payments: none
- Other: FFmpeg for video transcoding, Cloudflare R2 for media storage, Tailwind CSS for UI

### Hosting

- Vercel (Hosting the Next.js web application and dashboard frontend.): $0/mo
- Fly.io (Running long-lived background Docker workers equipped with FFmpeg for video processing.): ~$5/mo

### Build guide

1. **Scaffold Project & Database Schema** — Initialize the Next.js app with Tailwind CSS, configure better-auth with a local SQLite/Neon Postgres database, and set up Prisma or Drizzle ORM models for Users, ConnectedAccounts, Workflows, and PublishingLogs.

```
Initialize a new Next.js project with TypeScript, Tailwind CSS, and App Router. Set up Drizzle ORM connected to a PostgreSQL database (Neon). Create database schemas for users, connected_accounts (storing encrypted OAuth access tokens, refresh tokens, platform names, and account handles), workflows (linking source account ID, destination account ID, and filters), and execution_logs (tracking video title, status, source URL, destination post ID, and error messages). Implement better-auth for secure user authentication.
```

2. **Build Account Connection Manager** — Implement OAuth connection flows for target platforms (focusing on YouTube and TikTok as a functional personal subset) and securely store tokens.

```
Create the frontend dashboard page for managing connected accounts. Implement API routes to handle OAuth initiation and callback flows for YouTube Data API and TikTok Content API. Ensure access and refresh tokens are encrypted before saving to the connected_accounts table. Build a UI component displaying connected accounts with sync status indicators and disconnect buttons.
```

3. **Create Visual Workflow Builder** — Develop the workflow configuration interface allowing users to select a source platform account and map it to one or more destination platform accounts.

```
Build a workflow creation wizard in Next.js. Step 1: Select source platform and account from the user's connected accounts. Step 2: Select one or multiple destination platform accounts. Step 3: Configure automation rules (e.g., auto-publish vs require approval, remove watermark toggle). Save the configured workflow JSON into the workflows table and display an active workflows list with toggle switches to enable or disable them.
```

4. **Implement Video Transcoding Worker** — Set up a background worker service utilizing FFmpeg to download source videos, reformat aspect ratios (e.g., landscape to vertical 9:16), strip watermarks, and output optimized files to Cloudflare R2 object storage.

```
Write a Node.js worker script (designed to run on Fly.io using Docker with FFmpeg installed) that processes video transcoding jobs. The worker must accept a video URL, download the file to temporary local storage, run FFmpeg commands to crop and resize the video to vertical 9:16 aspect ratio suitable for Reels/Shorts, strip metadata or visible watermarks, and upload the processed output file to a Cloudflare R2 bucket. Return the public R2 URL of the processed video.
```

5. **Build Polling and Publishing Queue Engine** — Implement a background scheduler using Inngest or cron triggers to periodically check source platforms for new content, enqueue jobs, and push transformed media via official platform APIs.

```
Implement a background job scheduler using Inngest that runs every 30 minutes. The job iterates through active workflows, polls the source platform API (e.g., YouTube channel RSS or video list) for new video publications that haven't been logged yet, and creates an execution log entry. For each new item, trigger the transcoding worker from Step 4, then call the destination platform API (e.g., TikTok Post API or YouTube Shorts upload) to publish the processed video. Handle API rate limits with exponential backoff retries and record success or failure status in the database.
```

6. **Dashboard Logs & Polish** — Build an execution history dashboard showing publishing logs, success/failure status, manual retry buttons, and polish the user interface.

```
Build a History & Logs dashboard page in Next.js that queries the execution_logs table. Display a table showing video thumbnail, source platform badge, destination platform badge, timestamp, status (Success, Failed, Processing), and error messages if applicable. Add a 'Retry' action button for failed jobs that re-triggers the background publishing pipeline. Ensure responsive, clean styling using Tailwind CSS and Lucide React icons.
```

### Cost vs paying

**Starting costs (one-time):**

- Domain name: $12 one-time
- Total: ~$12 one-time

**Ongoing costs (monthly):**

- Fly.io worker compute & Cloudflare R2 storage: ~$5/mo
- Total: ~$5/mo

- Paying for the SaaS instead: $35/mo
- Build time: 40-60 hours
- AI tool credits: $20 (Claude Pro)
- Break-even: 1 month

## Sources

- [Repurpose.io Official Website](https://repurpose.io/)
- [Repurpose.io Pricing Page](https://repurpose.io/pricing/)
- [Tracxn - Repurpose Company Profile](https://tracxn.com/d/companies/repurpose/__W-2yQ55k27_Yg7bU847oJkX394G63gGz874x281m8A)
- [GetLatka - Repurpose.io Revenue & Growth Analysis](https://getlatka.com/companies/repurpose.io)