Here is a tool most people building with AI have not heard of. It is called REA, short for Reverse Engineer Anything, and it lets Claude Code look inside an app, find out how it really works, and then build your own version of it. Our case study is lagoslife.app, a Lagos city life game. I pointed REA at it and ended up with a working alternative with a map, messages and jobs. You need a computer with Claude Code and about 25 minutes. The screenshots are my real run, so your results will differ, and this tutorial is for educational purposes only.
1. Know what REA is and where to get it
REA is a free, open source tool (MIT license) that plugs into your AI coding agent. Instead of guessing what an app does from its screenshots, your agent reads the evidence: the page, the scripts, the network calls, the structure. It then explains how a feature works or builds something similar from what it found.
Open the official GitHub page, github.com/morluto/rea, and read the top of the README. The author says to get REA only from morluto/rea, rea.tools or the rea-agents package on npm. A copycat repo with the same name is not official, so do not install from anywhere else.

This tutorial is for educational purposes only.
2. Install REA
You have two ways to install it. Both end with REA connected to Claude Code.
Option A, one command. REA needs Node.js 22.23.4 or newer, 24.22.1 or newer, or 26.12.1 or newer. Check yours first.
If it is older, upgrade it with nvm, fnm or Homebrew. Then run the setup command, choose Claude Code from the list, read the changes it proposes and approve them. It backs up your existing config first.
Option B, let Claude Code do it. This is what I did. I pasted the repo link into Claude Code and asked it to install it for me. It found my Node was too old, asked before changing my system, and I told it to go ahead with the upgrade.
https://github.com/morluto/rea.git Install this repo for me so I can start using it to reverse engineer any app.

3. Restart and check that REA is connected
Close Claude Code completely and open it again, because it only loads new tools at startup. Then type this.
You should see a server called rea in the list. You should also be able to type /reverse-engineer-anything and see it offered as a command. If REA is missing, run npx rea-agents setup again and make sure Claude Code is ticked. To update REA later, run npx rea-agents@latest setup.
4. Point it at an app
Make an empty folder for the new project, open Claude Code inside it, and give it one clear job. This is the exact prompt I used on our case study, lagoslife.app. Swap the link for your own app when you follow along.
Reverse-engineer https://lagoslife.app/ and build a working alternative with similar pages, design, navigation, and functionality. /reverse-engineer-anything
The part after the link matters most. Say what you want built: pages, design, navigation, functionality. The more specific you are, the closer the result.

5. Let it map the app
You will now watch it work. It opens the app, takes screenshots, reads the page code and checks which public calls the app makes. In my run it told me what it found in plain words: a Next.js app, a 3D isometric city map, sign-up and location flows.
You do not need to understand each tool call. Do read the summary it gives you, because it is your chance to correct it. If it missed a screen you care about, say so now, for example: "Also rebuild the messages screen and the jobs screen."
6. Run your new app
When it finishes building, it starts the app on your own computer and gives you an address like localhost:4400. Open it. In my run the result was a playable Lagos city with a map, buildings, a sign-up button and a banner.

Click around the way a new user would. Anything that looks off is your next to-do list.
A word of honesty: one prompt will rarely build the whole app perfectly. My first build was close, not finished. You get to the final result by following up with edits, one at a time, until it is right. The next two steps show how.
7. Check every screen
Now compare screen by screen with the original. My first build already had a Messages screen with chats, unread filters and message requests, and a Jobs screen with job cards and pay per shift.

Write down what is different or missing. That list is what you will fix next.
8. Follow up with edits until it is right
This is the real work, and it is normal. Each time you find a problem, you tell Claude Code in plain words and it fixes it. I noticed the phone screen was hidden on mobile, so I typed one follow-up. I also asked for a starting balance.
One last thing. Make it responsive on mobile screens. The phone screen is hidden on mobile. Also add 2 million to the starting balance.
Claude Code edited the page, ran the checks and fixed the layout. Ask for one change at a time, reload, and look. When something breaks, tell it exactly what you see. Repeat until every screen works. Expect several rounds, not one.

9. Keep going and use it for learning
This tutorial is for educational purposes only. Use what you learned to understand how apps are built, and practise on your own projects.
Good ways to practise: rebuild an old app of your own that lost its source code, learn how a feature you admire is built, or study how a public site behaves before you build something of your own.
To go further, the playbook Clone/Rebuild Any Website or Mobile App Using REA AI has 20 paste-ready prompts for websites, apps, desktop tools and APIs, a build brief template, a CLAUDE.md for clone projects and a real case study. It is here: Clone/Rebuild Any Website or Mobile App Using REA AI. The free checklist for this tutorial is in the discussion below.