Loading

AI Integration · 2026

Semantic Influencer Analytics

An influencer marketing MVP for the Turkish market that matches brands with creators using embeddings, AI profile analysis and a transparent score breakdown.

Year

2026

Type

AI Integration

Role

Solo Full Stack Developer

Tech Stack

  • Next.js
  • TypeScript
  • React
  • Tailwind CSS
  • Prisma
  • PostgreSQL
  • Python
  • FastAPI
  • OpenAI API
  • Pinecone
PrivatePrivate repository. Source code is not public.

Project Summary

InfluencerAI is an MVP dashboard for brands and agencies that plan influencer campaigns, built for the Turkish market with TRY pricing, Turkish-language prompts and local engagement benchmarks. A brand enters its name, industry, product, target interests and budget, and gets back a ranked list of creators with a 0-100 match score, estimated reach, engagement, cost range and an ROI score. Each creator page can run an AI analysis covering sentiment, brand safety, main topics, audience persona and content quality. The app also generates campaign captions, hashtags and image prompts in Turkish.

The system runs as two services: a Next.js app that owns the UI, the Prisma data model and the scoring logic, and a FastAPI 'AI engine' that scrapes Instagram, calls GPT-4o-mini in JSON mode and stores text-embedding-3-small vectors in Pinecone. Matching has two stages: Pinecone returns up to 50 semantic candidates, then a TypeScript reranker blends semantic similarity (35%), category fit (25%), demographics (15%), engagement (15%), budget (5%) and growth (5%). If the AI engine is unreachable, the app falls back to generating embeddings locally and comparing them with cosine similarity.

Problem & Solution

Problem
  • Shortlisting creators means reading profiles one by one
  • Follower counts say little about audience fit or engagement quality
  • Brand-safety risks in a creator's posts are easy to miss
  • Keyword filters miss creators whose content fits a brand in different words
  • Writing localized captions and hashtags for each platform takes time
Solution
  • Semantic search over creator bios and captions stored as vectors in Pinecone
  • A weighted match score with a visible breakdown for every factor
  • GPT-4o-mini analysis returning sentiment, a 0-100 safety score, risk categories and topics
  • Per-platform engagement benchmarks for Instagram, TikTok, YouTube and X, plus budget-fit scoring
  • A content generator that returns 5 caption options with hashtags and CTAs, plus 3 image prompts

Key Features

01

Semantic Matching

The brand profile is turned into a search query, embedded and matched against creator vectors in Pinecone. Results are reranked into a 0-100 total score.

02

Transparent Scoring

Each match shows semantic, category, demography, engagement, budget and growth sub-scores. It also lists estimated reach, engagement, cost range and an ROI score based on CPM and CPE.

03

Instagram Ingestion

An Update Data action scrapes a public Instagram profile (bio, counts and the 5 most recent posts), upserts it into PostgreSQL and indexes it in Pinecone.

04

Brand Safety Analysis

GPT-4o-mini returns structured JSON for sentiment, brand safety, top 5 topics, audience persona and content quality, and the result is cached on the profile. Users can mark each section correct or incorrect with thumbs up/down buttons.

05

Content Generation

Generates Turkish captions, hashtags and CTAs for the chosen platform and tone using GPT-4 Turbo in JSON mode. Separate endpoints suggest 15 hashtags and create DALL-E 3 images at the right aspect ratio for each platform.

06

Creator Directory

Browse creators filtered by platform, category, follower range and minimum engagement rate, with pagination. Creators can be added to a campaign from their profile.

Technical Details

AI Pipeline

The FastAPI service has ingest, search and analyze routers under /api/v1. Instagram scraping uses Instaloader with 3 retries and exponential backoff, and the analyze route scrapes the profile automatically when no raw data exists yet.

Matching Logic

Retrieval then rerank: Pinecone supplies similarity scores, and the TypeScript scorer applies weights of 35/25/15/15/5/5 with platform-specific engagement bands and a budget-ratio curve. A local cosine-similarity path with an in-memory embedding cache runs when the engine is down.

Database

PostgreSQL through Prisma, with Influencer, Campaign, CampaignInfluencer, Content and AnalysisFeedback models. Raw scrape data and analysis results are stored as JSON columns, and the Python service reads and writes the same tables with async SQL (databases + asyncpg).

Frontend

Next.js 16 App Router with React 19, Tailwind CSS 4 and Radix-based UI components. API routes proxy the AI engine, with a 60-second timeout for requests that scrape and then analyze.

Have a project? Let's talk.

Have a project in mind or a question about my work? Email or LinkedIn is the best way to reach me.