Your ad hooks should get sharper every time you run them.
Lure is an open-source learning loop for ad copy. Generate hooks per channel, ship them, log what actually converted, and a per-channel Tacklebox remembers your Keepers and Throwbacks, so the next cast is sharper than the last. Runs locally, saved in your browser, MIT-licensed.
Generate a fresh batch of hooks for your channel. Lure leans on proven Keepers and refuses known Throwbacks.
↺ every pass sharpens the next
MIT open sourceruns local, no data leaves your browserDocker one-command self-hostyour own local model or API key
Live demo — no signup, runs in your browser
Pick a channel, drop in an offer, generate hooks, then walk the tabs: In the Water → The Catch → Tacklebox.
🔒 6 more channels — SMS, Native, TikTok, YouTube, landing pages, advertorial — plus auto-scoring that pulls your real CTR / EPC / ROAS straight from your ad accounts. Unlock with Lure Pro →
Hooks in the water
Every hook you tie on lands here. Set the date and the channel(s) you ran it on (a hook can run on more than one). Then head to The Catch to log how it did.
Log your catch
Score each hook 1–100 using whatever metric is your guiding light. There is no universal scale — it is relative to your numbers.
How to score:80–100 = a clear winner you'd scale ·
40–70 = middling · 1–30 = a dud you'd kill. Guiding metrics:EPC (earnings/click) ·
CTR (clicks/impressions) · CVR (conversion rate) ·
ROAS (return on ad spend) · CPA/CPL (cost per action, lower is better) ·
Open/Reply rate (email) · or your own.
Tired of typing scores? Lure Pro auto-pulls your real numbers from Meta, Google & your networks — plus hosted + API. Get Lure Pro →
The tacklebox for Meta / Facebook
The seed tacklebox ships with the tool. The learned rows are grown from your scored results — they steer the next batch.
Reset
Clear everything you added and restore the demo to its seeded starting point (a few example keepers and throwbacks so the loop has something to learn from).
The loop in 60 seconds
1
Cast
Generate hooks for your offer, leaning on proven Keepers, refusing known Throwbacks for that channel.
2
Tie it on
Keep the ones you will actually run. Set the date and the channel(s) they went live on.
3
Log the catch
Score each hook 1 to 100 on the metric you live by: EPC, CTR, CVR, ROAS, whatever is yours.
4
Tacklebox learns
Winners become Keepers, duds become Throwbacks, a memory that is yours, per channel.
5
Cast sharper
The next batch leans into what caught and drops what flopped. That is the loop.
Free gets you the whole loop. Pro closes it automatically.
PRO
Auto-scoring is the point
Lure stamps a tracking key on every hook you tie on, then pulls your real CTR, EPC, ROAS and CPA straight from your connected ad and affiliate accounts and scores each hook automatically. The only manual friction in the loop is gone. The metric lands back on the exact hook that earned it.
tie on → stamp key (e.g. LURE__luh_9fk2) → sync metrics → auto-score → Tacklebox learns
Supported sources
Connect your accounts once. Every hook Lure generates carries a stamped tracking key, so its real numbers flow back and auto-score it, no manual entry.
Ad platforms PRO
Meta AdsGoogle AdsTikTok Ads
Spend, impressions, CTR, the awareness half of ROAS.
AI models
Free: Ollama (Llama 3.2)PRO Claude SonnetPRO GPT-4o class
Same prompt discipline, stronger copy; local model as fallback.
On top of the 4 free channels; each ships with its own seed Tacklebox.
Accounts & access
Teams (owner/admin/agent)Hosted appREST API
Managed cloud version and a REST API, vs self-hosting the free build.
OAuth-connected, tokens encrypted at rest. Metrics match back to each hook via a stamped tracking key (CTR · EPC · ROAS · CPA). "LURE__luh_9fk2" is an example key format.
Free vs Pro
Free
MIT, self-host · free forever
✓
4 channelsEmail, Meta/Facebook, Google Ads, Affiliate
✓
The full loop + Tackleboxcast → tie on → catch → learn
✓
Manual hook scoringyou enter 1 to 100
✓
Local AI modelOllama / Llama 3.2, or your own API key
✓
Browser-only / self-hostdata stays with you · single user