Skip to content

MuhammadTanveerAbbas/Repurpose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Repurpose AI Logo

Repurpose AI

Smart Content Engine for solo founders and creators.
Give it anything: a rough idea, a transcript, a YouTube URL, or a pain point.
It figures out the strategy, picks the right formats, and generates content worth posting.

Live Demo License TypeScript React Supabase Tailwind CSS Vite


Repurpose AI

Overview

Repurpose AI is a Smart Content Engine built for freelancers, solo creators, and solo founders who need to produce great content fast, without thinking too hard about format, platform, or strategy.

The old approach: paste transcript β†’ get 6 outputs. That's a template machine.

This is different: give it anything (a URL, a raw idea, a rough transcript, a topic, a pain point) and it figures out the best content strategy, picks the right formats, and generates outputs that are actually good enough to post.

No edge functions. All AI calls go directly from the browser using the Groq API (llama-3.3-70b-versatile).


✨ Features

  • 4 Input Modes : Idea, Transcript (paste), YouTube URL (auto-fetches transcript), Pain Point
  • AI Strategy Analysis : Before generating, the AI returns a Content Strategy Card: core message, audience, tone, and recommended formats. You review and edit before hitting generate.
  • 9 Output Formats : LinkedIn Post, LinkedIn Hook, Twitter/X Thread, Short-form Video Script, Cold Email Draft, Newsletter Section, YouTube Description, Instagram Caption, Personal Brand Bio
  • Smart Format Recommendations : AI picks the best 3 to 5 formats for your specific input. You can add or remove any.
  • Inline Editing : Every output is an editable textarea with live character count (color-coded per platform limits)
  • Per-card Controls : Copy, Regenerate (without touching others), Mark as Done
  • Bulk Actions : Copy All, Export as Markdown (.md), Start New
  • Project History : Past sessions saved to Supabase (Pro plan)
  • Plan Gating : Free (5/mo), Creator ($49/mo), Pro ($99/mo) with soft upgrade prompts
  • Auth : Supabase email/password + Google OAuth, protected routes, per-user RLS

πŸ›  Tech Stack

Category Technology
Frontend React 18 + TypeScript + Vite
Styling Tailwind CSS v3 + shadcn/ui + Framer Motion
Backend Supabase (Auth + PostgreSQL + RLS)
AI Groq API β€” Llama 3.3 70B Versatile (client-side)
Forms React Hook Form + Zod
Data Fetching TanStack React Query v5
Deployment Vercel

πŸš€ Quick Start

Prerequisites

Installation

# 1. Clone the repo
git clone https://github.com/MuhammadTanveerAbbas/Repurpose.git
cd Repurpose

# 2. Install dependencies
pnpm install

# 3. Set up environment variables
cp .env.example .env.local
# Fill in your values (see Environment Variables below)

# 4. Run the development server
pnpm dev

# 5. Open in browser
http://localhost:8080

Supabase Setup

  1. Create a new Supabase project
  2. Run supabase/schema.sql in the Supabase SQL Editor
  3. That's it β€” no edge functions needed

πŸ” Environment Variables

Create a .env.local file in the root:

# Supabase
VITE_SUPABASE_URL=https://your-project-id.supabase.co
VITE_SUPABASE_PUBLISHABLE_KEY=your-supabase-anon-key
VITE_SUPABASE_PROJECT_ID=your-project-id

# Groq AI (client-side β€” safe to expose via VITE_ prefix)
VITE_GROQ_API_KEY=your-groq-api-key

Get your keys:


πŸ“ Project Structure

Repurpose/
β”œβ”€β”€ public/                      # Static assets
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ dashboard/           # Dashboard tab components
β”‚   β”‚   β”‚   β”œβ”€β”€ GenerateTab.tsx  # Main 3-step generation flow
β”‚   β”‚   β”‚   β”œβ”€β”€ InputStep.tsx    # Input mode selector
β”‚   β”‚   β”‚   β”œβ”€β”€ StrategyCard.tsx # AI strategy review + format picker
β”‚   β”‚   β”‚   β”œβ”€β”€ OutputsSection.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ OutputCard.tsx   # Per-format card with edit/copy/regen
β”‚   β”‚   β”‚   β”œβ”€β”€ HistoryTab.tsx   # Past projects (Pro)
β”‚   β”‚   β”‚   └── SettingsTab.tsx  # Profile + plan + password
β”‚   β”‚   └── ui/                  # shadcn/ui component library
β”‚   β”œβ”€β”€ contexts/                # AuthContext
β”‚   β”œβ”€β”€ hooks/                   # use-auth, use-mobile, use-toast
β”‚   β”œβ”€β”€ integrations/            # Supabase client + types
β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   β”œβ”€β”€ groq.ts              # Groq API client + all format prompts
β”‚   β”‚   └── utils.ts
β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”œβ”€β”€ Index.tsx            # Landing page
β”‚   β”‚   β”œβ”€β”€ Dashboard.tsx        # 3-tab dashboard shell
β”‚   β”‚   β”œβ”€β”€ Login.tsx
β”‚   β”‚   β”œβ”€β”€ Signup.tsx
β”‚   β”‚   β”œβ”€β”€ Pricing.tsx
β”‚   β”‚   └── NotFound.tsx
β”‚   └── main.tsx
β”œβ”€β”€ supabase/
β”‚   └── schema.sql               # Full DB schema with RLS
β”œβ”€β”€ .env.example
β”œβ”€β”€ package.json
└── README.md

πŸ”„ How the Tool Works

Step 1 : Input

User picks a mode (Idea / Transcript / YouTube URL / Pain Point) and submits.

Step 2 : Strategy Analysis

Groq analyzes the input and returns a JSON strategy:

{
  "core_message": "...",
  "audience": "...",
  "recommended_formats": [
    "LinkedIn Post",
    "Twitter/X Thread",
    "Short-form Video Script"
  ],
  "tone": "Provocative",
  "strategy_note": "..."
}

This is shown as a Content Strategy Card. User can edit format selection before proceeding.

Step 3 : Generation

Each selected format is generated sequentially with a platform-specific system prompt. Outputs appear as cards as they complete. User can edit, copy, regenerate, or mark done.


πŸ“¦ Available Scripts

Command Description
pnpm dev Start development server on port 8080
pnpm build Build for production
pnpm preview Preview production build
pnpm lint Run ESLint
pnpm lint:fix Run ESLint with auto-fix
pnpm test Run tests (single run)
pnpm type-check TypeScript type checking

🌐 Deployment

Deployed on Vercel. Add these environment variables in the Vercel dashboard:

  • VITE_SUPABASE_URL
  • VITE_SUPABASE_PUBLISHABLE_KEY
  • VITE_SUPABASE_PROJECT_ID
  • VITE_GROQ_API_KEY

Deploy with Vercel


πŸ—Ί Roadmap

  • 4 input modes (Idea, Transcript, YouTube URL, Pain Point)
  • AI content strategy analysis before generation
  • 9 platform-specific output formats
  • Inline editing + per-format regeneration
  • Copy All + Export as Markdown
  • Project history (Pro)
  • Free / Creator / Pro plan gating
  • Streaming generation (real-time output)
  • Custom tone instructions per session
  • Notion and Google Docs export
  • API access

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

Distributed under the MIT License. See LICENSE for more information.


πŸ‘¨β€πŸ’» Built by The MVP Guy

Muhammad Tanveer Abbas
SaaS Developer | Building production-ready MVPs in 14–21 days

Portfolio Twitter LinkedIn GitHub

If this project helped you, please consider giving it a ⭐

About

AI-powered content repurposing platform - transform one video into six platform-ready formats automatically.

Topics

Resources

License

Stars

Watchers

Forks

Contributors