# zicula-reverse-etl-kit — free sample

Three real excerpts from the full kit (25 files), each **cut to taste** —
enough to judge the code quality, not enough to run a sync pipeline:

- `sample-sync-csv-ads.py` — the core of the ads-audience recipe from
  `sync-recipes/`: the consent-gated default SQL and the complete, pure
  `audience_rows()` function that normalizes emails/phones to E.164 and
  SHA-256 hashes them exactly the way Meta/Google expect. The file-writing
  and CLI plumbing are summarized at the end.
- `sample-churn-signals.sql` — the scoring engine of the churn model from
  `dbt/models/`, complete: recency penalty, usage-trend penalty,
  inactivity penalty and the tenure discount. The risk-tier and
  recommended-action columns are cut off — that is the part that turns the
  score into something your marketing tools can act on.
- `sample-data-contracts.md` — the opening of the data-contract from the
  docs: the `customers` contract table and the first rules that keep syncs
  from silently breaking. The `usage_events` contract, the derived-feed
  column list, the five-minute review checklist and the changelog habit
  are summarized at the end.

What the full kit adds (the other 22 files):

- One-command demo: `docker-compose.yml` + worker `Dockerfile` — run
  `docker compose up` and a real warehouse-to-audience sync runs on your
  machine with zero external credentials
- The other four sync recipes: Mailchimp (upsert with double opt-in
  default), Slack (weekly digest), generic webhook (JSON batches + HMAC
  signature, retry with backoff) and Google Sheets (service account)
- `warehouse.py` — the shared helper every recipe imports: psql reader,
  normalization, hashing, HMAC, retry
- `warehouse-seed/001_init.sql` — a demo warehouse (12 customers, 60 days
  of usage) so you see rows move before touching your own data
- `selftest.py` — 34 offline logic tests for the recipe logic
- Both dbt models (`customer_360`, `churn_signals`), the dbt project and
  profiles template
- The ops layer: `data-contracts.md` in full, `cost-comparison.md` with
  sourced 2026 platform prices, `cron-setup.md` (crontab with flock, env
  file, log rotation, systemd timers), the step-by-step buyer README
  (`README-buyer.md`), `MANIFEST.md` and the single-buyer commercial
  `LICENSE.txt`
- `screenshots/` — the buyer README, data contract, cost comparison and
  cron runbook rendered, plus a real `selftest.py` run (34/34 checks)

Every recipe is dry-run by default: nothing leaves your machines until
you set `RE_DRY_RUN=0`.

One-time purchase $49 (≈ ฿1,690) · free updates for v1.x · 30-day full refund.
