Deep Dive · Agent workflows

"Clone Any App for Free" — What the Workflow Actually Delivers

The stack is real: DeepSeek Harness as the agent, REA as the reverse-engineering toolkit, OpenRouter presets for model fallback. The demos are not clones — they are interfaces populated with sample data, and the video says so if you listen past the title. Here is the honest split: four techniques worth stealing, three claims that do not survive, and the legal line that separates studying an app from copying one.

DeepSeek plus REA clones anything — video thumbnail
Video: Maitis 22:15 3 November 2026
DeepSeek Harness REA OpenRouter model fallback

🎬 The claim versus the artefact 0:00

The title promises: clone any app, zero coding, zero paid API. The workflow is three layers — DeepSeek Harness as the developer, REA to study how an app works, OpenRouter free models as the brain — then two builds: a Slack-style workspace and a ChatGPT-style chat app.

ClaimWhat the video shows
"Clone any app"A React-style front end with channels, threads, a file attachment and a search box — populated with sample conversations
"100% FREE (No Paid API)"The setup starts by entering a DeepSeek API key; only the OpenRouter step is free-tier, and free tiers are rate-limited
"Zero coding"True in the narrow sense: he never types code
Same setup builds both appsTrue — one harness, one toolkit, one model preset, two prompts
"This isn't the complete Slack app. It's a local version with sample conversations, not a fully connected messaging platform."
He says the honest thing, twice, and it is worth crediting: the same admission appears for the ChatGPT clone ("image and video creation options are part of our interface, although we haven't demonstrated completed AI-generated media"). What was built is a convincing front end. There is no server, no auth, no persistence across machines, no real messaging — the messages you see are the ones seeded into the mock.

🧱 Layer 1: the harness 2:30

DeepSeek Harness installed as the desktop app, then authenticated with a DeepSeek API key from the platform console. Inside settings: appearance, models, built-in plugins, agent presets; model choice between the Flash and Pro tiers, plus a thinking-effort dial he sets to high.

This is where the "no paid API" claim breaks. A DeepSeek API key is a paid, metered credential — the app talks to DeepSeek's models on your account. What the video actually swaps out is the second half: instead of paying a premium vendor for the coding work, it routes the agent's thinking through OpenRouter's free-tier models. That is a real saving. It is not a free stack.

🔍 What REA actually is 4:34

"Reverse Engineer Anything" is not a model and not a magic cloner. It is an MCP server plus CLI that gives an agent real inspection tools, so the agent investigates before it writes anything.

PropertyDetail
Repositorymorluto/rea — MIT, TypeScript, created 14 April 2026, ~438,000 stars at the time of writing
Packagerea-agents on npm, actively released (6.8.0 at time of writing), exposes both rea and rea-agents binaries
ShapeOne CLI and an MCP server that registers with your agent, plus a skill file of workflow instructions
TargetsDesktop and Electron apps, web apps, native binaries, Android — down to pseudocode, symbols and call graphs
Native enginesHopper, Ghidra, IDA or Kuna; static JavaScript analysis needs no native engine
Supported agentsClaude Code, Codex, Cursor, Gemini CLI, Grok Build, and anything that can host a local MCP server — the video adds DeepSeek Harness
The idea worth understanding: the failure mode of "build me a copy of this app" is guessing. A model asked to reproduce an interface it has never inspected invents plausible behaviour, and the result falls apart on the first click. REA replaces the guess with evidence — the agent reads the real app and then writes against what it found. That is the same principle as giving an agent a way to verify its work, which is the single most reliable way to improve agent output.

Two practical notes the video does not mention. First, REA's full MCP server is large — one published teardown counts over 200 tools, which consumes context before the agent does anything useful, and there are community "lean REA" skill-file variants built to dodge that cost. Second, the native engines it drives (Hopper, IDA) are commercial products; REA's own documentation is explicit that it grants no licence or entitlement for them.

🧰 Setup, and the "doctor" habit 5:19

StepCommand
Install for the harnessnpx rea-agents@latest setup --client dsh (the readme documents the interactive npx rea-agents setup, which asks which agents to configure)
Health checknpx rea-agents doctor — verifies tools and connections; "you want it all green"
RestartRestart the harness so the new skill and MCP tools load

Setup also offers to install Hopper for native analysis, with approval, and backs up existing configuration before touching it.

The best line in the video is about error handling: if a check is not green, don't debug it yourself — copy the error, paste it into the harness and say "fix this". That is a legitimate pattern and not a joke: a self-diagnosing setup where the agent repairs its own toolchain is how non-specialists get through install steps. It works because an install error is a well-formed, self-contained problem with a searchable solution.

🆓 The free-model layer 7:28

OpenRouter is a single endpoint in front of many providers. The important part is not the free models — it is that DeepSeek Harness accepts a custom provider: base URL https://openrouter.ai/api/v1, your key, and any model id it serves.

SettingValue
Provider nameAnything you like (e.g. "OpenRouter free")
Base URLhttps://openrouter.ai/api/v1
API keyFrom your OpenRouter account
Model idLater replaced with a preset id: @preset/free-models
Free tiers are not a stable foundation. OpenRouter's free variants are rate-limited and the catalogue rotates — model ids appear, get deprecated and disappear. A preset pointing at three specific free models can silently break months later, and you will discover it mid-task. Treat any free-model preset as a cache with an expiry date, and keep a paid fallback configured for when it matters.

🔀 Presets and fallback 9:30

The genuinely transferable trick of the video: instead of pinning one model, create a server-side preset that groups several models, then point the agent at the preset id.

PieceHow it works
PresetSaved in the OpenRouter dashboard under a name; enabled tools (web search, date/time, and so on) travel with it
Preset idReferenced as @preset/<name> in place of a model id — a real, documented OpenRouter feature
FallbackIf one model is unavailable or hits a limit, the request can go to another in the list, so you do not reconfigure the agent mid-build
Configuration lives server-sideChange the model set once in the dashboard; every client using the preset follows
Why this is a real architecture idea and not a hack: it moves routing out of application code and into configuration. The agent just says "preset", and swapping models — for cost, for availability, for capability — becomes a dashboard change instead of a redeploy. OpenRouter also ships a dedicated model fallbacks feature; a preset is the coarser version of the same instinct. Either way, the principle is: never hard-code a model id in a workflow you intend to keep running.

🖥 What the two builds actually are 12:48

Both demos follow the same script: a long prompt describing layout and behaviour with the original app's public interface as reference and a new name, then the agent plans, scaffolds files and writes components.

DemoWhat was demonstratedWhat was not
Slack-style workspacePurple sidebar, channel switching, creating a channel, sending a message, replies in a thread panel, attaching a file, search, and a "huddle" buttonReal-time messaging, accounts, permissions, persistence, notifications, actual audio
ChatGPT-style appSidebar with conversation history, message box, web search over a pasted URL, a "deep research" style report, URL analysis, media library UIActual model calls behind the chat, completed image or video generation (admitted)

He also re-ran the Slack test with a second channel to show it wasn't a one-off, which is the right instinct — reproducibility check rather than single take.

The gap that matters for anyone tempted to sell this: the hard part of Slack is not the sidebar, it is presence, message ordering, delivery guarantees and permissions. The hard part of ChatGPT is not the message box, it is the model orchestration behind it. A demo that produces the visible 10% and none of the invisible 90% is a prototype — which is genuinely useful for validating an idea, and not a product, a clone, or a replacement for a subscription.

💸 "100% free" does not survive 21:18

Cost centreReality
DeepSeek API keyMetered and paid — required by the video's own setup, before any building starts
OpenRouter free modelsFree but rate-limited, rotating, and subject to provider terms
Your timeTwo hours of tutorial for two mock interfaces; the real work starts after
Native reverse-engineering enginesHopper and IDA Pro are commercial licences if you go below the JavaScript layer
Slack and ChatGPT subscriptionsStill the cheapest way to actually get Slack and ChatGPT
The honest cost claim the video could have made: "build a working front-end prototype of any app for roughly one evening and near-zero token cost, using free-tier models with a fallback preset." That is a striking and true statement. "Clone any app for free" is neither.

🧭 Why this stack exists 9:58

The stated motive is cost: the previous version of this workflow used Claude Code, and "Claude burned through the credits way too fast". There is also a second, less-stated motive visible in the ecosystem: several hosted coding agents have been tightening refusals around reverse-engineering requests, including mundane ones, which pushes this kind of work toward self-hosted harnesses and open models.

That is the genuinely interesting story here, and it is bigger than the video: when a capability is legitimate but looks risky, it migrates to whichever harness and model combination is willing to do it. Vendor refusals are not a wall — they are a routing instruction. Anyone reasoning about where agent tooling goes should expect the tool to move rather than stop.

🧰 Four things worth stealing 18:30

  1. Investigate before generating. Any agent asked to reproduce behaviour should be given tools to observe the real thing first. Guessing produces plausible code that breaks on first interaction.
  2. Model routing as configuration, not code. A preset id with fallback models means you swap providers in a dashboard instead of editing a workflow.
  3. Let the agent fix its own install. "Copy the error, paste it into the harness, say fix this" turns toolchain debugging into a prompt — and install errors are exactly the kind of well-formed problem this works on.
  4. Ship a health check. A doctor command that verifies every dependency and connection, and tells the agent what is missing, is cheap to build and removes an entire class of support questions.

The corollary, which the video does not say: each of these makes the setup easy. None of them makes the product real. A prototype that looks like Slack proves the interface is easy to imitate — which is exactly the lesson the video's own closing pitch, selling this as a service, quietly ignores.

✅ Claims checked

ClaimVerdictEvidence
REA ("Reverse Engineer Anything") exists and is open sourceCorrectmorluto/rea, MIT, TypeScript, created 14 Apr 2026, ~438,000 stars at the time of writing
Install via npx rea-agents@latest setup, check via doctorCorrect, with a caveatnpm package rea-agents (6.8.0) exposes rea/rea-agents; the readme documents the interactive setup — the --client dsh flag used in the video is not shown in the readme excerpt checked
REA works with Claude Code, Gemini CLI, Cursor and othersCorrectReadme lists Claude Code, Codex, Cursor, Gemini CLI, Grok Build, plus any agent that hosts a local MCP server
Hopper is used for native analysisCorrect — and it is paid softwareReadme: native analysis uses Hopper, Ghidra, IDA or Kuna; setup can install Hopper with approval; REA grants no licence for those tools
OpenRouter presets exist and are addressable as @preset/nameCorrectOpenRouter documentation: presets are saved configurations referenced as @preset/<name>; model fallbacks are a separate documented feature
DeepSeek Harness accepts a custom OpenAI-compatible providerCorrectStandard DSH capability; base URL plus key plus model id
"100% FREE (No Paid API)"False as statedThe setup requires a DeepSeek API key from the start; only the OpenRouter free-tier models are free, and they carry rate limits
The Slack build is a working cloneOverstated — by the video itselfHis own words: "a local version with sample conversations, not a fully connected messaging platform". No backend, accounts or real-time messaging
The ChatGPT build generates images and videoInterface only, admitted"The image and video creation options are part of our interface, although we haven't demonstrated completed AI-generated media"
REA has a large MCP surface that eats contextReported by third partiesA published teardown counts 200+ tools and benchmarks a leaner skill-file variant; not verified here
Free-tier model ids are stable enough to build a workflow onUnsafe assumptionFree catalogues rotate and are rate-limited; presets can break silently
Cloning an app's interface is legal because you did not copy codeHalf the pictureFunctionality is generally not protected, but assets, code and distinctive trade dress are separate exposures the video never mentions
The video's own funnel (a site with 760+ tools) is freeSelf-promotionPromoted throughout; not evaluated here

Basis note. Built from the full 22:15 transcript and verified against the REA repository and npm package, OpenRouter's presets documentation, and DeepSeek Harness's documented custom-provider support. The two demo builds are assessed from what the video shows and admits; no independent reproduction was attempted, and the exact names of the free models used could not be confirmed (the narration is garbled there, and the free catalogue is in any case volatile).

🔑 Key takeaways

  • The stack is real, the clones are not. Two convincing front-ends with sample data — useful as prototypes, not as replacements for anything.
  • "Free" refers to one layer. A paid DeepSeek API key is the entry ticket; only the OpenRouter models are free-tier, and those are rate-limited.
  • REA is an analysis toolkit, not a cloner. MIT-licensed CLI plus MCP server that gives an agent real evidence about how an app behaves.
  • Investigate before generating is the principle that makes any of this work — guessing produces code that breaks on the first click.
  • A doctor command is the cheapest reliability feature you can ship for a tool that agents install and drive.
  • Let the agent fix its own setup: paste the error, say "fix this". Install errors are well-formed problems, which is exactly the class agents solve well.
  • Route models by configuration, not code: a preset id with fallbacks means swapping providers without touching the workflow.
  • Free-model presets expire. Treat the free catalogue as volatile and always keep a paid path configured for when the work matters.
  • The missing 90% is the product. Slack's hard part is presence and delivery guarantees; ChatGPT's hard part is orchestration. The UI is the easy layer.
  • Studying an app is legitimate; copying its assets and trade dress is not. The video never addresses the line it walks along.
  • Refusals route, they do not block. Restrictive policies on one harness push legitimate work toward self-hosted harnesses and open models.
  • Judge demos by what breaks under load, not by what renders in a browser tab.

🔗 Resources

Basis note. This article treats the video as a tutorial to be checked rather than a claim to be repeated. Two of its three headline words fail verification — "clone" and "free" — while the underlying techniques hold up. The author's own admissions are quoted rather than paraphrased, because they are more accurate than his title.

⏱ Timestamp index

0:00The pitch: clone any app, zero cost
2:30DeepSeek Harness desktop, API key, model choice
4:34What REA is; investigate instead of guess
5:19Install, Hopper, and the doctor check
7:28OpenRouter as a custom provider
8:40Verifying REA works through the free model
9:30Building the free-model fallback preset
11:30The preset id, wired into the harness
12:48Build 1: the Slack-style workspace
15:12Clicking through it: channels, threads, files
16:33The honest caveat: sample data, no backend
17:04Build 2: the ChatGPT-style app
18:40The plus menu: search, research, URL analysis
20:34Images and video: interface only, admitted
21:22Results, and the pitch to sell it as a service
☰ View all