Skip to content

Jamessdevops/forkreach

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ForkReach
Multi-AI Marketing Agent for Indie Hackers

ForkReach Demo

A conversational AI platform with specialized marketing agents for indie hackers and startups.
Powered by Google's Gemini AI for Twitter content, email marketing, landing pages & launch strategies.


License: MIT Python 3.13+ Next.js 16


Your AI-powered marketing team, available 24/7.

Getting started & staying tuned with us.

Star us, and you will receive all release notifications from GitHub without any delay!


✨ Features

  • πŸ€– Specialized AI Agents - Purpose-built agents for different marketing tasks:

    • Twitter Agent - Generate engaging tweets and thread content
    • Email Marketing Agent - Craft compelling email campaigns
    • Landing Page Agent - Write converting landing page copy
    • Launch Strategist - Plan and execute product launches
  • 🧠 Smart Routing - Auto-routes queries to the most appropriate agent based on user intent

  • πŸ’¬ Real-time Streaming - Responses stream in real-time using the ai-sdk UI Message Stream Protocol

  • πŸ“¦ Product Context - Personalize responses with your product/brand context

  • πŸ’Ύ Conversation History - Persist and continue conversations across sessions with Supabase


πŸ› οΈ Tech Stack

Backend

  • FastAPI - High-performance Python web framework
  • Google Gemini AI - Powers all AI agents (gemini-2.5-flash, gemini-1.5-pro, etc.)
  • Supabase - Database for conversation persistence
  • UV - Modern Python package manager

Frontend

  • Next.js 16 - React framework with App Router
  • React 19 - Latest React with concurrent features
  • Tailwind CSS 4 - Utility-first CSS framework
  • Radix UI - Accessible component primitives
  • ai-sdk - Vercel AI SDK for chat streaming
  • Lucide React - Beautiful icon library

πŸš€ Getting Started

Prerequisites

  • Node.js v22.18.0+ (recommended via nvm)
  • Python 3.13+
  • UV package manager (pip install uv)
  • Supabase account (for conversation persistence)

Environment Setup

Backend

Create a .env file in the backend/ directory:

GEMINI_API_KEY=your_gemini_api_key
SUPABASE_URL=your_supabase_url
SUPABASE_ANON_KEY=your_supabase_anon_key

Frontend

Create a .env.local file in the frontend/ directory:

NEXT_PUBLIC_API_URL=http://localhost:8000

Installation

Backend

cd backend
uv sync

Frontend

cd frontend
npm install

Running the Application

Start Backend Server

cd backend
uv run uvicorn main:app --reload

The API will be available at http://localhost:8000

Start Frontend Development Server

cd frontend
npm run dev

The app will be available at http://localhost:3000


πŸ“ Project Structure

β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ agents/                  # AI agent implementations
β”‚   β”‚   β”œβ”€β”€ base_agent.py        # Base agent class
β”‚   β”‚   β”œβ”€β”€ coordinator.py       # Agent routing coordinator
β”‚   β”‚   β”œβ”€β”€ twitter_agent.py     # Twitter content agent
β”‚   β”‚   β”œβ”€β”€ email_marketing_agent.py
β”‚   β”‚   β”œβ”€β”€ landing_page_agent.py
β”‚   β”‚   └── launch_strategist_agent.py
β”‚   β”œβ”€β”€ main.py                  # FastAPI app entry point
β”‚   β”œβ”€β”€ stream.py                # Streaming chat endpoint
β”‚   β”œβ”€β”€ conversations_api.py     # Conversation CRUD API
β”‚   β”œβ”€β”€ products_api.py          # Product context API
β”‚   β”œβ”€β”€ supabase_client.py       # Supabase client setup
β”‚   └── pyproject.toml           # Python dependencies
β”‚
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”‚   └── session/         # Main chat session pages
β”‚   β”‚   β”œβ”€β”€ components/          # React components
β”‚   β”‚   β”‚   └── ui/              # Shadcn UI components
β”‚   β”‚   └── contexts/            # React context providers
β”‚   β”œβ”€β”€ public/                  # Static assets
β”‚   └── package.json             # Node dependencies
β”‚
└── README.md

πŸ”Œ API Endpoints

Method Endpoint Description
POST /api/chat Stream chat responses from agents
GET /api/agents List available agents
GET /api/conversations Get user conversations
POST /api/conversations Create new conversation
POST /api/conversations/{id}/messages Add message to conversation
GET /api/products Get user products
POST /api/products Create product context

πŸ“ License

This project is licensed under the MIT License.


🀝 Contributing

Contributions are welcome! Feel free to open issues and pull requests.