Pull real listings,
then rank them
Two stages, deliberately separate. First it fetches actual pages and extracts what is really there. Only then does a model rank and find angles — and it may only use the harvested text as fact. Nothing is invented in between.
Sources
Write the review
you'd want to read
Built section by section rather than in one shot, which is what makes a small on-device model usable here. Every number in the finished draft is checked back against the harvested data and your own notes.
One review,
five native formats
Short outputs are where small on-device models genuinely hold up. Each asset is derived only from the review, so claims stay identical across platforms.
Know which post
paid for itself
Same destination, one tagged link per platform. Without it you are guessing which channel earns.
What $12k a month
actually costs you
Commission comes out of traffic × click-through × conversion × order value. Put your real numbers in and the receipt tells you how far off you are.
Saved campaigns
Stored on this device in IndexedDB. This app uploads nothing.
Engine, proxy,
disclosure
Where generation runs
On-device model
Downloaded once, then cached by the browser and usable offline. Sizes below are the real download. Pick the smallest one that gives you usable prose — bigger is not free on a phone.
Cloud provider — optional
Fetch proxy
Retail sites do not send CORS headers, so a browser cannot read them directly. This is a browser rule, not a limitation of the app. Deploy the worker below on your own Cloudflare account and paste its URL here. It only forwards to the allowlisted domains in the code.
worker.js — copy this
Disclosure
Install
Installing gives it a home-screen icon and keeps it running with the network off, once a model is cached.