Inpact is an open-source AI-powered platform designed to connect content creators, brands, and agencies through data-driven insights. By leveraging Generative AI (GenAI), audience analytics, and engagement metrics, Inpact ensures highly relevant sponsorship opportunities for creators while maximizing ROI for brands investing in influencer marketing.
- Automatically connects creators with brands based on audience demographics, engagement rates, and content style.
- Facilitates partnerships between creators with complementary audiences and content niches.
- Provides fair sponsorship pricing recommendations based on engagement, market trends, and historical data.
- Assists in structuring deals, generating contracts, and optimizing terms using AI insights.
- Enables brands and creators to track sponsorship performance, audience engagement, and campaign success.
- Frontend: ReactJS
- Backend: FastAPI
- Database: Supabase
- AI Integration: GenAI for audience analysis and sponsorship recommendations
- Creators, brands, and agencies sign up and set up their profiles.
- AI gathers audience insights and engagement data.
- The platform suggests brands and sponsorship deals based on audience metrics.
- Creators can apply for sponsorships or receive brand invitations.
- Creators can find and connect with others for joint campaigns.
- AI recommends potential collaborations based on niche and audience overlap.
- AI provides fair pricing recommendations for sponsorships.
- Auto-generates contract templates with optimized terms.
- Creators execute sponsorship campaigns.
- Brands track campaign performance through engagement and ROI metrics.
- AI analyzes campaign success and suggests improvements for future deals.
- Brands and creators receive insights for optimizing future sponsorships.
Make sure you have these installed:
- Node.js (v18 or higher) + npm
- Python 3.9+
- Git
- A Supabase account (free tier is enough)
git clone https://github.com/AOSSIE-Org/InPact.git
cd InPactcd frontend
npm installCreate a .env file in the frontend/ folder:
VITE_SUPABASE_URL=https://your-project.supabase.co
VITE_SUPABASE_ANON_KEY=your-anon-public-key
VITE_YOUTUBE_API_KEY=your-youtube-api-keyHow to get Supabase frontend keys:
- Go to https://app.supabase.com
- Open your project → Settings → API
- Copy Project URL →
VITE_SUPABASE_URL - Copy anon public key →
VITE_SUPABASE_ANON_KEY
How to get Youtube API Key
- Log in to the https://console.cloud.google.com/
- Create a new project or select an existing one from the project drop-down menu.
- In the Cloud Console, search for "YouTube Data API" in the search bar and select "YouTube Data API v3" from the results.
- Click the "Enable" button to enable the API for your project.
- Navigate to the "Credentials" tab in the left-hand menu.
- Click "Create Credentials" and then select "API key" from the dropdown menu and now use that api key.
cd ../backend
# Create a virtual environment (isolates dependencies)
python -m venv venv
# Activate it
# Windows:
venv\Scripts\activate
# macOS / Linux:
source venv/bin/activate
# Install backend dependencies
pip install -r requirements.txt
cd appCreate .env in backend/app/ and fill all values:
# Supabase Database Connection
user=postgres
password=YOUR_DB_PASSWORD
host=db.yourproject.supabase.co
port=5432
dbname=postgres
# API Keys
GROQ_API_KEY=your_groq_key
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_KEY=your-anon-public-key
GEMINI_API_KEY=your_gemini_key
YOUTUBE_API_KEY=your_youtube_keyWhere to get each key (with direct links):
| Variable | Service | How to Get (Step-by-Step) |
|---|---|---|
SUPABASE_URL & SUPABASE_KEY |
Supabase | Same as frontend → Settings → API → copy URL & anon key |
host & password |
Supabase PostgreSQL | Settings → Database → Connection info → copy Host + the password you set when creating the project |
GROQ_API_KEY |
Groq (fast AI inference) | → console.groq.com/keys → Create API Key → copy (gsk_...) |
GEMINI_API_KEY |
Google Gemini | → aistudio.google.com/app/apikey → Create API key |
YOUTUBE_API_KEY |
YouTube Data API v3 | 1. console.cloud.google.com 2. New Project → Enable YouTube Data API v3 3. Credentials → Create API Key |
All are free for development use.
Terminal 1 (Frontend):
cd frontend
npm run dev→ Opens at http://localhost:5173
Terminal 2 (Backend – make sure venv is active):
cd backend/app
uvicorn main:app --reload→ Runs at http://127.0.0.1:8000
You’re all set! Open http://localhost:5173 and register/login.
To populate the database with initial data, follow these steps:
-
Open Supabase Dashboard
- Go to Supabase and log in.
- Select your created project.
-
Access the SQL Editor
- In the left sidebar, click on SQL Editor.
-
Run the SQL Script
- Open the
sql.txtfile in your project. - Copy the SQL queries from the file.
- Paste the queries into the SQL Editor and click Run.
- Open the
This will populate the database with the required initial data for the platform. 🚀
We welcome contributions from the community! To contribute:
- Fork the repository.
- Create a new branch for your feature (
git checkout -b feature-name). - Commit your changes (
git commit -m "Added feature"). - Push to your branch (
git push origin feature-name). - Open a Pull Request.
graph TD;
A[User Signup/Login] -->|via Supabase Auth| B[User Dashboard];
B -->|Fetch Audience & Engagement Data| C[AI-Powered Sponsorship Matchmaking];
C -->|Suggest Ideal Brand Deals| D[Creator Applies for Sponsorship];
D -->|Submit Application| E[Brand Reviews & Shortlists];
E -->|AI-Based Pricing & Negotiation| F[Contract Generation via AI];
F -->|Sign Deal| G[Sponsorship Execution];
G -->|Track Performance| H[AI-Powered ROI Analytics];
H -->|Optimized Insights| I[Brands & Creators Adjust Strategies];
I -->|Feedback Loop| C;
FRONTEND workflow in detail
graph TD;
A[User Visits Inpact] -->|Supabase Auth| B[Login/Signup];
B -->|Fetch User Profile| C[Dashboard Loaded];
C -->|Request AI-Powered Matches| D[Fetch Sponsorship Deals via API];
D -->|Display Relevant Matches| E[User Applies for Sponsorship];
E -->|Send Application via API| F[Wait for Brand Response];
F -->|Fetch Application Status| G[Show Application Updates];
G -->|If Approved| H[Contract Generation Page];
H -->|AI Drafts Contract| I[User Reviews & Signs Contract];
I -->|Start Campaign Execution| J[Track Sponsorship Performance];
J -->|Show Performance Analytics| K[AI Optimizes Future Matches];
BACKEND workflow in detail
graph TD;
A[User Authentication] -->|Supabase Auth API| B[Verify User];
B -->|Store User Data in DB| C[Return JWT Token];
C -->|Fetch User Profile| D[Return Profile Data];
D -->|Receive Sponsorship Match Request| E[Query AI Engine];
E -->|Analyze Audience & Engagement| F[Generate Sponsorship Matches];
F -->|Return Matches via API| G[Send to Frontend];
G -->|User Applies for Sponsorship| H[Store Application in DB];
H -->|Notify Brand| I[Brand Reviews Application];
I -->|Brand Approves/Rejects| J[Update Application Status];
J -->|If Approved| K[Generate AI-Powered Contract];
K -->|AI Suggests Pricing & Terms| L[Store Finalized Contract in DB];
L -->|Track Campaign Performance| M[Analyze Engagement & ROI];
M -->|Return Insights| N[AI Refines Future Recommendations];
For queries, issues, or feature requests, please raise an issue or reach out on our Discord server.
Happy Coding!