Technology

REM: Reverse Engineer Any Marketing Strategy — Free Open-Source Competitor Marketing Teardown

By Asad Ali ·

20 min read

Reverse Engineer Marketing cover — dark navy background with the title "Reverse Engineer Any Marketing Strategy", the subtitle "Paste a link. See the whole machine.", a magnifier over a bar chart, and topic chips (Paid ads, SEO, Social, Founders, Funnel).

REM (Reverse Engineer Marketing) is a free, open-source tool that takes one company link and returns a full teardown of its marketing: which ads are running, what its social channels do, how its SEO is built, what its founders post, and how its funnel works — with a cited source for every claim. It is a CLI, an MCP server, and a local web app, built in TypeScript and released under the MIT license on 18 October 2026.

One thing to know before you try it: the README's quick-start command, npx reverse-engineer-marketing, does not work yet. As of 15 November 2026 the package is not published on npm (the npm registry returns 404 for it), so the working route is to install it from source with git clone. Everything else in this guide was checked against the live README and the repository itself.

The short version

  • What it is: REM (Reverse Engineer Marketing), by DansUGC — github.com/dansugc/reverse-engineer-marketing. Paste a link, get the whole marketing machine behind it: paid ads, organic social, SEO, Reddit, founders, funnel — evidence-cited.
  • Cost: free and open source (MIT). The basic scan needs no API keys at all. The full version needs a Scrape Creators key for ads and social data (about 25–50 credits per full run, per the README) and either an Anthropic key or a Claude Code / Codex subscription for the AI-written report.
  • What you need: Node 22 or newer, and Git. No account, no sign-up, no cloud service.
  • What it cannot do: it reads public information only. It cannot see private analytics, real ad spend, revenue, or anything behind a login. Dollar spend is never invented — the tool says so itself.
  • Status: version 0.1.0, 616 stars and 80 forks on GitHub as of 14 November 2026, no releases yet. Early software — expect rough edges.

Get the tool

REM — Reverse Engineer Marketing (free, MIT license): github.com/dansugc/reverse-engineer-marketing. Requires Node 22+. The npm package is not published yet (checked 15 November 2026), so install from source — full steps below.

Related reading: How to Add Products to ChatGPT: the Business Hub, Product Feeds and Agentic Commerce · Small Business SEO Checklist 2026 · Bang Motion: the Free Agent Skill That Turns One Prompt Into Motion Design

What the viral post gets wrong

The post going around calls REM a way to "reverse-engineer any winning marketing strategy" and says "they found a way to reverse-engineer any winning marketing strategy." That framing needs correcting before it hardens into accepted fact. Here is what is real and what is hype.

What this is not

  • It does not reverse-engineer "any" strategy. It investigates public marketing data only: public web pages, public ad transparency libraries (Meta, Google, LinkedIn, Apple), and public social profiles. It never logs in as anyone, never touches private data, and never runs anything on the target — the README says so in its "Use it responsibly" section.
  • It cannot see real ad spend. Ad libraries show which ads exist and how long they have run, not how much money went into them. REM's own evidence contract states it clearly: a pixel means intent, not current spend, and dollar spend is never invented.
  • "The man who knows every secret" framing does not apply here. There is no secret data. The insight comes from collecting public signals in one place and reading them together — long-running ads are probably winners, a pixel shows which platforms a company buys on, a sitemap shows programmatic SEO. That is genuinely useful, and it is not espionage.
  • The npx quick start does not work yet. The README opens with npx reverse-engineer-marketing notion.so, but the package is not on npm as of 15 November 2026 — the npm registry returns 404. The working install is git clone from the repository. This is a young project (created 18 October 2026, version 0.1.0, no releases), and the docs are ahead of the packaging.
  • It is not a magic "winning strategy" detector. What it produces is an evidence bundle and a scorecard. The report's interpretations must cite evidence ids and label inferences, and anything it could not check is listed as an unknown — never "they don't do it." That honesty is the tool's best feature, and it is the opposite of a magic answer.

What it actually finds

REM scans a company from a single URL and pulls the areas below. The split matters: roughly half the report is free with no keys, and the other half — the ad libraries and social data — needs a Scrape Creators API key.

AreaWhat REM pullsNeeds a key?
Paid: MetaAll ads including paused campaigns, active count, most-shown ads, ads launched in the last 30 days, longest-running active ads with hooks, formats, CTAs, landing pages, UTM campaign names, variant countsScrape Creators
Paid: GoogleAds pointing at the domain, formats, recency, and other advertisers bidding on the brand (affiliates, resellers)Scrape Creators
Paid: LinkedInAds by the company, ad types, headlines, CTAsScrape Creators
Paid: Apple Search AdsFrom Apple's public Ad Repository (EU only): App Store ads over the last year, how many still serve, placements, formats, message, markets, audience targeting, copycat apps under the same nameFree
Pixels & stackMeta, Google, TikTok, LinkedIn, Reddit, X, Pinterest and Snap pixels with IDs, including inside Google Tag Manager containers; attribution SDKs (AppsFlyer, Adjust, Branch); affiliate tools; email/CRM; visitor-ID tools (RB2B, Warmly, Koala, Clearbit); A/B testingFree
Organic socialTikTok, Instagram, YouTube, X, LinkedIn: followers, posts per week, median reach, top posts and hooks, spark ads, days since last post. It finds TikTok even when the site doesn't link itScrape Creators
SEOSitemap size and folders, programmatic page families (/integrations/{app}, /{a}-vs-{b}, /templates/…), comparison and alternatives pages, content cadence, locales, top Google resultsFree (plus 1 credit)
AI search (GEO)llms.txt, which AI crawlers are blocked or allowedFree
FoundersNames from Wikidata, the site's JSON-LD and about page, plus LinkedIn and Google search; ranked by confidence, with LinkedIn/X audience, photo, recent postsNames free; enrichment Scrape Creators
Reddit marketingBrand and founder posts and replies, owned subreddit activity, comparison and "what should I use" threads, organic recommendations, Reddit threads ranking on GoogleScrape Creators
Funnel & monetizationPositioning, CTAs, pricing model, free plan or trial, per-seat or usage pricing, sales-led signals, affiliate program and commission, social proofFree
AppsApp Store ratings (a download proxy), release age, update cadence, Play installsFree
Positioning historyHomepage title, H1 and CTAs over time from the Wayback Machine: pivots and repositioningFree
Community & launchesReddit threads and subreddits, Hacker News launches and points, Product HuntHN free; rest Scrape Creators

How it works

The pipeline is deliberately boring in the best way: collect evidence first, score it without AI, and only then let an AI write the report — with a validator checking the result.

How REM turns one link into a report1. Paste a linkdomain or app link›2. Website scanpixels, SEO, ads, social›3. Evidence bundleE1…En + unknowns›4. Cited reportscorecard + playbookEvery item is an observation (seen at a URL) or a derivation (computed). Inferences must cite evidence ids.A validator checks the report: citations resolve, sections exist, the playbook is grounded, no invented spend.Output: ./rem-reports/<domain>-<date>/ — report.md plus evidence.json (the raw bundle).

The evidence contract is the part that separates REM from a generic "ask an AI about a company" prompt. Every item in the bundle is either an observation (seen at a URL or API) or a derivation (computed, like posts per week). The report's interpretations must cite evidence ids and label inferences. Anything not checked is an unknown, never "they don't do it." And the validator at the end checks the finished report: citations resolve, sections exist, the playbook is grounded, and no spend was invented.

The analysis itself lives in a versioned bundle called the harness: an analyst role, guardrails, a report template, a cue-to-lesson library, and one playbook per channel. Every report records the harness version and SHA, so a report can be traced back to the exact method that produced it. The project is inspired by REA (Reverse Engineer Anything), but for marketing instead of binaries.

There are three ways to run it. The CLI is the simplest: one command, one report. The local web app opens at http://localhost:4321, where you paste a link, pick who writes the report, and watch the evidence come in; its Posts & ads tab lists everything collected, filterable by platform and sortable by top, newest, or longest running. And the MCP server lets Claude Code, Codex, Cursor, or any MCP client run REM directly — with MCP you do not need an Anthropic key, because your agent writes the report itself. The MCP tools are reverse_engineer_marketing, get_evidence, get_playbook, get_content, compare_runs, validate_report, and write_report, plus guided prompts such as investigate_company, compare_competitors, what_changed, steal_the_playbook, and audit_unknowns.

Setup, step by step

What you need first: Node 22 or newer (the repo's .nvmrc pins 22, and package.json requires >=22) and Git. Nothing else is required for the free scan.

Step 1 — Install from source

Because the npm package is not published yet, install from the repository:

git clone https://github.com/dansugc/reverse-engineer-marketing && cd reverse-engineer-marketing
npm install

To run from source without building:

npm run dev -- notion.so --no-ai

Step 2 — Try the demo (no keys)

The demo opens a recorded Cal AI teardown in the web app, with zero setup and no keys — the same example covered below, so it shows what a finished report looks like before you spend any credits. Until the package is published, run it from source with npm run dev -- demo.

Step 3 — Run your first scan (free, no keys)

npm run dev -- linear.app

With no API keys, this already covers the website, pixels (including inside Google Tag Manager containers), SEO and sitemaps, AI-crawler stance, Wayback history, app-store data, and Hacker News. Output goes to ./rem-reports/<domain>-<date>/: report.md plus evidence.json, the raw evidence bundle. App Store and Google Play links work directly too.

Step 4 — Unlock ads and social (Scrape Creators key)

To see paid ads, organic social, Reddit marketing, and founder enrichment, add a Scrape Creators API key:

export SCRAPECREATORS_API_KEY=<your-key>
export ANTHROPIC_API_KEY=<your-key>
npm run dev -- calai.app

The Anthropic key is only needed if you want REM to write the report through the API; with a Claude Code or Codex subscription, your plan is used instead. Check what your keys unlock with npm run dev -- doctor.

Step 5 — Use the web app (optional)

npm run dev -- web

This opens the local web app at http://localhost:4321. Pick a report writer — Claude Code (your installed claude CLI, billed to your Claude subscription), Codex (your installed codex exec in a read-only sandbox, billed to your ChatGPT subscription), the Anthropic API (per token), or evidence only (no AI, free). Past runs are listed on the home page.

Step 6 — Connect it to your agent (optional)

npm run dev -- setup

rem setup detects Claude Code or Codex, shows the plan, and asks before changing anything. Or add it by hand:

# Claude Code
claude mcp add reverse-engineer-marketing -e SCRAPECREATORS_API_KEY=<your-key>
# Codex
codex mcp add reverse-engineer-marketing --env SCRAPECREATORS_API_KEY=<your-key>

Then ask your agent, for example: "Reverse engineer the marketing of linear.app and give me a playbook I can copy." A bundled skill in skills/reverse-engineer-marketing/ can be copied into ~/.claude/skills/ to teach your agent the workflow.

Step 7 — Watch competitors over time

Run REM on the same company again next week, then diff the runs:

npm run dev -- diff calai.app

The diff shows Meta ads in the library and live now, ads launched, Apple Search Ads volume, follower growth per platform, sitemap growth, channels switched on or off, homepage repositioning, and which ads and posts are new or no longer running.

A real example: the Cal AI teardown

The repository ships with a full example report for Cal AI, the photo calorie-tracker app, and it is the best proof of what REM actually produces. The numbers below are from that example report, not from a fresh run — they describe Cal AI as of October 2026.

One-line verdict: an always-on Meta video machine (692 active ads, all video, almost all linking straight to the App Store) sells a 3-day free trial behind a photo-to-calories hook, on top of a very large App Store base (371,236 ratings at 4.80 stars) and influencer-led social proof.

The Meta library held 894 ads, 692 of them active, and every ad in the sample of 61 was video. The longest-running ads ran 184–185 days (14 April to 15/16 October 2026), with up to 12 variants each — the report's reasoning is that nobody pays that long for losers, so these are the proven winners. The winning hooks were simple: "Track your calories as easy as taking a picture of your food" (185 days, 12 variants) and "AI Counts Your Food For You" (184 days, 12 variants), plus a free-trial framing, "Limited Time Free Trial", active for 137 days and the most-shown ad. Sixty of the 61 sampled ads linked directly to the App Store; the website was not the funnel at all.

The rest of the picture fills in around that engine. Instagram had 384,077 followers but only 0.8 posts per week and a median of 279 likes — the report's inference is that the following was built through ads and influencers, not the feed. TikTok's brand account had 6 followers, so real TikTok reach likely runs through creators. SEO was supporting, not an engine: 127 URLs, 103 of them blog posts, no programmatic families. Reddit showed no deliberate brand marketing, but 8 threads ranked on Google and the recurring objection was accuracy. Founder Zach Yadegari had 86,570 X followers, but his latest LinkedIn post (15 September 2026) was about his new company after selling Cal AI. And the machine was likely in harvest mode: only 1 ad launched in the last 30 days, and the 185-day winners had ended in mid-October.

What it costs

The tool itself is free — MIT license, no account, no subscription. The costs are the data and the AI. Per the README, a full run costs about 25–50 Scrape Creators credits plus one Claude call (the default model is claude-opus-5, overridable with REM_MODEL). Scrape Creators responses are cached for 24 hours in ~/.cache/reverse-engineer-marketing, so re-running does not pay twice for the same data.

The free tier is genuinely useful on its own: the website scan, pixels, SEO, Wayback history, app-store data, Apple Search Ads in the EU, and Hacker News all work with no keys, and the "evidence only" report writer costs nothing. The paid part starts when you want the ad libraries and social data — that is the Scrape Creators key — and when you want an AI-written report without a Claude Code or Codex subscription — that is the Anthropic key. I could not verify Scrape Creators' own pricing (its pricing page returned 404 at check time), so check their current plans before budgeting credits.

Honest limitations

The README's "Limits (honest)" section is unusually frank for a marketing tool:

  • Apple Search Ads are only visible for the EU (Apple's DSA repository). Other regions are unknown.
  • TikTok and X ads have no global public library. REM reports the pixel and gives you the manual library link. Reddit's ad library was shut down.
  • Ad library counts come from samples (first pages). REM says "in the sample" rather than pretending to a complete count.
  • Founder, TikTok-handle, and Product Hunt matches come from search and can be wrong. Weak matches are flagged.
  • Server-side tracking and email tools are invisible from the browser, so they are reported as unknown.
  • Ad counts and follower numbers are a snapshot. Libraries change daily; a report is true of the day it ran, and the diff command exists precisely because of that.
  • It is version 0.1.0 with no releases. Created 18 October 2026, six commits at last check, 616 stars. Expect the CLI surface, the report format, and the packaging to change — including the npm publication that would make the README's npx command actually work.

Security and privacy

REM runs locally. The web app server listens on 127.0.0.1 only and rejects other hosts and origins, so it is not reachable from your network. Subscription engines run the CLI you are already logged into in a scratch folder, with your MCP servers and hooks disabled, and REM strips ANTHROPIC_API_KEY and OPENAI_API_KEY from their environment so your plan is used rather than an API key. A Scrape Creators key added in the web app is saved to ~/.config/reverse-engineer-marketing/config.json with mode 600 (owner-only).

Two things to keep in mind anyway. First, the paid data path goes through a third party: when you add a Scrape Creators key, your scan targets go through Scrape Creators' API, which means a third-party service sees which companies you investigate. If that matters to you, run the free tier only and check ad libraries by hand. Second, the README's own rule still applies: study the strategy, ship your own. Do not republish competitors' ads, footage, copy, or brand assets — that is their IP — and respect each site's terms and your local laws.

Real use cases

1. Tear down one competitor before you spend a dollar. Run REM on the company winning your niche and read the longest-running ads first. The hooks, the offer framing, and the landing pages are the tested playbook. Then write your own angles in the same shape — copy the hooks, not the ads themselves.

2. Compare two to four competitors side by side. The compare_competitors MCP prompt does this in one run: who wins each channel, where the gaps are, and the one play to copy from each. For a small team, this is the fastest way to decide where to focus — one channel won well beats five channels done thinly.

3. Watch a competitor over time. Run the same company weekly and diff the runs. New ad angles, killed ads, follower growth, sitemap growth, repositioning — the diff is the early warning system for a competitor changing strategy, launching a product, or pulling back.

4. Turn a teardown into a 30-day plan. The steal_the_playbook prompt goes one step further: investigate, then build a 30-day plan for your own product with ad hooks adapted from the winners, UGC video briefs, a landing-page outline, a posting calendar, and an SEO template.

5. Audit what you cannot see. The audit_unknowns prompt lists everything REM could not see and the fastest way to check each by hand. For an agency, that list is also a useful deliverable: it shows the client exactly where the public evidence ends.

Who built it — and the commercial tie

REM is built by DansUGC, a UGC ads company at dansugc.com, and the README does not hide that: it promotes 5,000+ real-creator UGC reaction clips and custom videos from $5 a clip, and the report template carries the tip "Found their winning ads? Make your own." That is a fair commercial tie — the tool is genuinely free and MIT-licensed — but it is worth knowing the project comes from a company that sells the creative work the reports point at. The findings stand on their own evidence either way: every claim cites a source, and the validator checks the citations.

Verdict

REM is a good tool with a loud launch. The idea is sound — public marketing data is scattered across a dozen libraries and pages, and one command that gathers it, cites it, and admits what it cannot see is genuinely useful for founders, marketers, and agencies. The Cal AI example shows the output is real, not a demo mockup. The honest limits section and the evidence contract are better than most paid tools manage.

The caveats are real but fixable: the npm package is not published yet, so install from source; the full ad and social picture needs a paid Scrape Creators key; and the project is four weeks old, so expect changes. None of that stops you from running the free scan today. Start with the demo teardown, run it on one competitor you already know well, and check the report against what you know to be true. If the evidence holds up there, it will hold up on the companies you know nothing about — and that is the whole point.

Frequently Asked Questions

Is REM free?

Yes. The tool is free and open source under the MIT license, and the basic scan needs no API keys. The full version needs a Scrape Creators key for ads and social data (about 25–50 credits per full run) and either an Anthropic key or a Claude Code / Codex subscription for the AI-written report.

Why doesn't npx reverse-engineer-marketing work?

As of 15 November 2026 the package is not published on npm — the npm registry returns 404 for it. The README's npx quick start will fail until the author publishes it. Install from source instead: git clone https://github.com/dansugc/reverse-engineer-marketing, then npm install.

Can REM see a company's real ad spend or revenue?

No. It reads public information only: ad libraries, public pages, public social profiles. Ad libraries show which ads exist and how long they have run, not how much money went into them. REM's own rule is that a pixel means intent, not current spend, and dollar spend is never invented.

Do I need API keys to use it?

No, for the basic scan. The website scan, pixels, SEO, Wayback history, app-store data, Apple Search Ads in the EU, and Hacker News all work with no keys. A Scrape Creators key unlocks Meta, Google, and LinkedIn ads, organic social, Reddit marketing, and founder enrichment. An Anthropic key — or a Claude Code / Codex subscription — is needed for the AI-written report; the "evidence only" mode needs neither.

REM reads public information only and never logs in as anyone or touches private data. Studying a competitor's public strategy is standard competitive research. The README's own rule is the right one: study the strategy, ship your own — do not republish competitors' ads, footage, copy, or brand assets, and respect each site's terms and your local laws.

What is the difference between REM and just asking an AI about a company?

REM collects evidence first and scores it without AI, then lets an AI write a report that must cite evidence ids for its interpretations — and a validator checks that the citations resolve and no spend was invented. Asking an AI directly gives you an answer with no sources and no way to check it. REM's output is report.md plus the raw evidence.json bundle, so every claim traces back to the URL it came from.

Sources

Related reading: How to Add Products to ChatGPT: the Business Hub, Product Feeds and Agentic Commerce · Small Business SEO Checklist 2026 · Bang Motion: the Free Agent Skill That Turns One Prompt Into Motion Design

Want a website that markets itself? Asad Webs builds fast, search-ready websites and web apps — talk to us about yours: asadwebs.com/#contact.

Category: Technology

Tags: technology

About Asad Webs

KEEP READING

Next guide

Modded RTX 5090 with 96GB of VRAM Listed in China →

Related articles

Join the conversation

No account needed. Comments appear only after approval. Your email address will not be published.

Be the first to share a useful question or thought.

You won’t be subscribed to any mailing list.
WELCOME BACK

Sign in

Access your orders, saved products and account.