mirror of
https://github.com/hanzoai/ads.git
synced 2026-09-30 20:39:45 +00:00
main
The ads Deployment is a SPA server over this repo's dist and nothing else: no SPA_* config, no API of its own (that is api.hanzo.ai). So the export is published to the Sites plane as `ads`, s3://hanzo-sites/hanzo/ads, for the edge to serve with no pod. The build gate already produces dist in the same job, so the lane names no build of its own. Checked in headless Chromium: the export on ads.hanzo.ai renders what the pod renders. Co-authored-by: Hanzo Dev <[email protected]>
Hanzo Ads
Plan a paid campaign, launch it on Meta, and keep its budget and spend beside every other campaign your organization runs.
This repository holds two things:
- the web app (
src/, a Vite SPA on@hanzo/ui), which runs campaigns throughapi.hanzo.ai/v1/adand connects ad accounts through/v1/integration; - the Go module
github.com/hanzoai/ads, with network connectors andcmd/ads.
Run the app
pnpm install
pnpm dev # http://localhost:3310, /v1 forwarded to api.hanzo.ai
Sign-in is Hanzo IAM (hanzo.id, app hanzo-ads).
Build
pnpm build # typecheck, then dist/
The image is built by CI from Dockerfile and hanzo.yml and served by
ghcr.io/hanzoai/spa.
Screens
- Campaigns — every campaign, filtered by status, with totals.
- New campaign — store a campaign; it reaches its network only on launch.
- Campaign — launch, pause, resume, edit, delete.
- Ad accounts — connect Meta, Google or TikTok ad accounts.
- Spend — spend against budget, per network and per campaign.
License
Apache-2.0 OR MIT.
Languages
Go
62.1%
TypeScript
35.2%
HTML
1.5%
CSS
0.7%
Dockerfile
0.5%