zeekayandHanzo Dev 4c1cde7cad Hanzo Ads runs paid campaigns from a web app
The ad plane at api.hanzo.ai/v1/ad had no screen of its own. This adds one
beside the Go module, built the same way as Hanzo Social: campaigns with their
totals, a campaign to launch, pause, edit or delete, ad accounts connected
through /v1/integration, and spend against budget. It shows only what the API
returns, so there is no targeting, creative or delivery data to draw.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-15 11:16:20 -07:00

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 through api.hanzo.ai/v1/ad and connects ad accounts through /v1/integration;
  • the Go module github.com/hanzoai/ads, with network connectors and cmd/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.

S
Description
Mirror of github.com/hanzoai/ads
Readme
463 KiB
Languages
Go 62.1%
TypeScript 35.2%
HTML 1.5%
CSS 0.7%
Dockerfile 0.5%