Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
264 changes: 260 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,263 @@
# Inpact Landing Page
![Inpact arch](https://github.com/user-attachments/assets/2b911c1f-2a14-4663-9a22-f04b22baa5b8)

**This repository is a fork of [ishaanxgupta/Inpact-LandingPage](https://github.com/ishaanxgupta/Inpact-LandingPage).**
# Inpact - AI-Powered Creator Collaboration & Sponsorship Matchmaking

Special thanks and credit to **Ishaan Gupta** ([ishaanxgupta](https://github.com/ishaanxgupta)) for building the landing page to this level.
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.

---
## Features

### AI-Driven Sponsorship Matchmaking

- Automatically connects creators with brands based on audience demographics, engagement rates, and content style.

### AI-Powered Creator Collaboration Hub

- Facilitates partnerships between creators with complementary audiences and content niches.

### AI-Based Pricing & Deal Optimization

- Provides fair sponsorship pricing recommendations based on engagement, market trends, and historical data.

### AI-Powered Negotiation & Contract Assistant

- Assists in structuring deals, generating contracts, and optimizing terms using AI insights.

### Performance Analytics & ROI Tracking

- Enables brands and creators to track sponsorship performance, audience engagement, and campaign success.

## Tech Stack

- **Frontend**: ReactJS
- **Backend**: FastAPI
- **Database**: Supabase
- **AI Integration**: GenAI for audience analysis and sponsorship recommendations

---

## Workflow

### 1. User Registration & Profile Setup

- Creators, brands, and agencies sign up and set up their profiles.
- AI gathers audience insights and engagement data.

### 2. AI-Powered Sponsorship Matchmaking

- The platform suggests brands and sponsorship deals based on audience metrics.
- Creators can apply for sponsorships or receive brand invitations.

### 3. Collaboration Hub

- Creators can find and connect with others for joint campaigns.
- AI recommends potential collaborations based on niche and audience overlap.

### 4. AI-Based Pricing & Contract Optimization

- AI provides fair pricing recommendations for sponsorships.
- Auto-generates contract templates with optimized terms.

### 5. Campaign Execution & Tracking

- Creators execute sponsorship campaigns.
- Brands track campaign performance through engagement and ROI metrics.

### 6. Performance Analysis & Continuous Optimization

- AI analyzes campaign success and suggests improvements for future deals.
- Brands and creators receive insights for optimizing future sponsorships.

---

## Getting Started

### Prerequisites

Ensure you have the following installed:

- Node.js & npm
- Python & FastAPI
- Supabase account

### Installation

#### 1. Clone the repository

```sh
git clone https://github.com/AOSSIE-Org/InPact.git
cd inpact
```

#### 2. Frontend Setup

1. Navigate to the frontend directory:
```sh
cd frontend
```

2. Install dependencies:
```sh
npm install
```

3. Create a `.env` file using `.env-example` file:


4. Get your Supabase credentials:
- Go to [Supabase](https://supabase.com/)
- Log in and create a new project (or use existing)
- Go to Project Settings -> API
- Copy the "Project URL" and paste it as VITE_SUPABASE_URL
- Copy the "anon public" key and paste it as VITE_SUPABASE_ANON_KEY

#### 3. Backend Setup

1. Navigate to the backend directory:
```sh
cd ../backend
```

2. Install dependencies:
```sh
pip install -r requirements.txt
```

3. Navigate to the app directory:
```sh
cd app
```

4. Create a `.env` file using `.env-example` as a reference.

5. Obtain Supabase credentials:
- Go to [Supabase](https://supabase.com/)
- Log in and create a new project
- Click on the project and remember the project password
- Go to the **Connect** section at the top
- Select **SQLAlchemy** and copy the connection string:

```sh
user=postgres
password=[YOUR-PASSWORD]
host=db.wveftanaurduixkyijhf.supabase.co
port=5432
dbname=postgres
```

--OR--

[The above works in ipv6 networks, if you are in ipv4 network or it cause errors, use the below connection string which could be found in Session Pooler connection]

```sh
user=postgres.<project>
password=[YOUR-PASSWORD]
host=aws-<location>.pooler.supabase.com
port=5432
dbname=postgres
```

6. Get the Groq API key:
- Visit [Groq Console](https://console.groq.com/)
- Create an API key and paste it into the `.env` file

#### 4. Start Development Servers

1. Start the frontend server (from the frontend directory):
```sh
npm run dev
```

2. Start the backend server (from the backend/app directory):
```sh
uvicorn main:app --reload
```

## Data Population

To populate the database with initial data, follow these steps:

1. **Open Supabase Dashboard**

- Go to [Supabase](https://supabase.com/) and log in.
- Select your created project.

2. **Access the SQL Editor**

- In the left sidebar, click on **SQL Editor**.

3. **Run the SQL Script**
- Open the `sql.txt` file in your project.
- Copy the SQL queries from the file.
- Paste the queries into the SQL Editor and click **Run**.

This will populate the database with the required initial data for the platform. πŸš€

---

## Contributing

We welcome contributions from the community! To contribute:

1. Fork the repository.
2. Create a new branch for your feature (`git checkout -b feature-name`).
3. Commit your changes (`git commit -m "Added feature"`).
4. Push to your branch (`git push origin feature-name`).
5. Open a Pull Request.

---

## Overall Workflow

```mermaid
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**

```mermaid
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**
Comment on lines +224 to +240
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

πŸ› οΈ Refactor suggestion

Replace bold text with proper headings to satisfy MD036 and improve navigation

markdownlint flags (MD036) point out that using bold for what is effectively a heading is discouraged. Converting the lines to real headings also makes TOC auto-generation tools work.

-**FRONTEND workflow in detail**
+### Front-End Workflow in Detail
@@
-**BACKEND workflow in detail**
+### Back-End Workflow in Detail
πŸ“ Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
**FRONTEND workflow in detail**
```mermaid
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**
🧰 Tools
πŸͺ› markdownlint-cli2 (0.17.2)

224-224: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


240-240: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

πŸ€– Prompt for AI Agents
In README.md around lines 224 to 240, replace the bold text "**FRONTEND workflow
in detail**" and "**BACKEND workflow in detail**" with proper markdown headings
using one or more '#' characters. This change will satisfy markdownlint rule
MD036 and improve document navigation and TOC generation.


```mermaid
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];
```

## Contact

For queries, issues, or feature requests, please raise an issue or reach out on our Discord server.

Happy Coding!