Atlas Brief is a creator-screening product built for the RoC hackathon. It ranks creators using a hybrid model that combines semantic relevance with commercial quality, then presents the result in a guided landing page, an interactive demo, and a short methodology appendix.
- screens the full
creators.jsonuniverse - runs the official challenge query for
brand_smart_home - exports the top 10 as JSON
- presents the results in a polished dashboard with charts, filters, and PDF export
searchCreators(query, brandProfile): RankedCreator[]is implemented insrc/searchCreators.ts- Postgres +
pgvectorsetup is included insql/schema.sql - DB ingestion is included in
scripts/ingest.ts - official top-10 output is written to
output/brand_smart_home_top10.json - README setup instructions are included here
- Loom is the only submission item that must still be recorded separately
For the fastest local path with no OpenAI key or Postgres:
npm install
env EMBEDDING_PROVIDER=local VECTOR_BACKEND=memory npm run demo
npm run dashboardOpen:
http://127.0.0.1:4173/for the landing pagehttp://127.0.0.1:4173/demo.htmlfor the demohttp://127.0.0.1:4173/methodology.htmlfor the methodology page
The required submission query is:
Affordable home decor for small apartments
using the brand_smart_home profile.
The generated output file is:
output/brand_smart_home_top10.json
projected_normalized = (projected_score - 60) / 40
final_score =
100 * (
0.45 * semantic_score +
0.55 * projected_normalized
)
This follows the recommended starting point from the challenge: semantic relevance blended with a slightly stronger projected-value weight.
commercial_quality =
0.65 * projected_normalized +
0.20 * engagement_norm +
0.15 * gmv_norm
relevance_score =
(industry_match + query_overlap + audience_fit) / 3
atlas_score =
100 * (
0.60 * relevance_score +
0.40 * commercial_quality
)
The demo score is for exploration. It uses equal treatment inside the relevance block, then blends relevance against commercial quality.
For the intended OpenAI + Postgres/pgvector path:
cp .env.example .envSet:
OPENAI_API_KEY=your_real_key
EMBEDDING_PROVIDER=openai
VECTOR_BACKEND=postgres
DATABASE_URL=your_real_postgres_urlThen run:
npm run ingest
npm run demo
npm run dashboardThe intended submission path is the Postgres + pgvector flow above. The in-memory mode exists only for easy local review of the UI.
npm run typecheck
npm run ingest
npm run demo
npm run dashboardsrc/searchCreators.ts- official challenge ranking logicscripts/ingest.ts- embedding and storage pipelinescripts/demo.ts- reproducible challenge rundashboard/index.html- landing pagedashboard/demo.html- live dashboarddashboard/methodology.html- formulas and referencesoutput/brand_smart_home_top10.json- top 10 submission output
- local mode is the easiest review path
OpenAI + Postgres/pgvectoris the intended production-style path- the dashboard can export both JSON and PDF from the demo page