Raptive-NC/Creator_Catalog
0
Creator Catalog Dashboard
This Streamlit dashboard supports a campaign-first workflow:
- Filter selection
- Interactive chat to refine creator suggestions
- Finalize creators
- Generate a slide deck (
.pptx)
Key behavior
- Uses Snowflake as source of truth:
ANALYTICS.SIGMA_SCRATCH.CREATOR_CATALOG_FULL_DATA_SETANALYTICS.ADTHRIVE.SITE_EXTENDED- Joins
CREATOR_CATALOG_FULL_DATA_SET.SITE_NAME = SITE_EXTENDED.SITE_NAME. - Applies hard filters at query time:
STATUS = ActiveIG_AUDIENCE_TIER NOT IN ('Micro', 'Nano')- Uses an advertiser input to:
- exclude creators with matching
Brand Avoidance, and - help prioritize relevant creators.
- Treats blank or
N/Aadvertiser input as no avoidance constraint. - Prioritizes Raptive Selects when enabled.
- Requires Instagram account matching when Instagram is selected.
- Produces 10 creator candidates and allows conversational refinement.
Dashboard workflow instructions
- Select campaign filters (
Advertiser,Content,Platform,Tier) and write a campaignDescription. - Click
Start Creator Chatto generate the first set of creator recommendations. - Use chat follow-ups to refine the list (example: keep creators 1-4, replace creators 5-6).
- Click
Finalize Creatorswhen recommendations are approved. - Click
Generate Slideto export a.pptx. - Optional: place creator headshots in
src/headshotsusing a site-name or creator-name slug as filename.
Required environment variables
OPENAI_API_KEY(orREPO_SECRET_OPENAI_API_KEY)- Snowflake key-pair auth:
SNOWFLAKE_ACCOUNTSNOWFLAKE_USERSNOWFLAKE_ROLESNOWFLAKE_WAREHOUSESNOWFLAKE_DATABASESNOWFLAKE_SCHEMASNOWFLAKE_PRIVATE_KEY- optional
SNOWFLAKE_PRIVATE_KEY_PASSPHRASE - Optional:
OPENAI_BASE_URLCUSTOM_GPT_MODELCUSTOM_GPT_INSTRUCTIONS
Local development
- Install dependencies from
requirements.txt. - Update
.envplaceholders in the project root. - Load env vars in your shell:
set -a
source .env
set +a- Run:
streamlit run src/streamlit_app.py