App Atlas Maps Every Screen and Business Flow in a Mobile App Using AI Agents
I Used an AI Agent to Automatically Generate the Business Map of an Entire App (Open Source)
Pain Points
In mobile development, there's a persistent old problem: code you didn't write yourself is code you don't understand well enough. Business logic is scattered across dozens of files. When you take over someone else's module, you have to dig through it bit by bit, and after a while, you forget it all again.
Later, when AI coding came along, the old problem wasn't solved, and new ones appeared:
- AI repeats the same code search in every conversation. Ask once about the order placement logic, and Claude has to scan through VC/VM/Cell from scratch, burning through tokens. Ask again next time, and it has forgotten everything.
- AI writes more and more code, and people have fewer "memory anchors" for the code. Since you didn't type it line by line, two weeks later you can't even remember where the entry point is.
- An app with hundreds of pages always lacks a global map. Testers want to know "where does this button lead," and product managers want to confirm "what step does this flow reach" — they all have to dig through code or pull a developer aside to ask.
Solution: App Atlas
So I built App Atlas — a tool framework that presents the UI structure, interactive hotspots, navigation relationships, and business logic of every screen in an app as a visual map.
Core ideas:
- AI Agent automatic collection: Throw the project to Claude Code / Kiro, say "collect the order page," and it reads the source code and generates structured data.
- Collect once, reuse forever: The generated data is structured JSON + Markdown. The AI reads it directly next time without re-scanning the code.
- Purely local, zero dependencies: No
npm install, no build step, no code uploaded to the cloud.
Demo
This tool has been running on a real project of mine for a while, collecting business logic for 50+ modules and 180+ pages. The open-source version has been desensitized, with all business data removed, keeping only the generic framework plus a set of demo data (simulating four modules of an IM-style app: Chat / Contacts / Discover / Me) for easy experience and understanding:
Online experience: https://innepeace.github.io/app-atlas/
You can click around:
- Left navigation switches pages
- Blue dashed boxes in the middle are clickable hotspots; clicking them navigates to the target page
- Orange boxes are multi-branch hotspots; clicking them pops up options
- The right side shows the complete business logic for that page (Mermaid flowchart + trigger chains + business rules)
What It Solves
| Scenario | Before | With App Atlas |
|---|---|---|
| AI understanding | Search code from scratch each time, 10000+ tokens | Read manifest directly, a few hundred tokens |
| Newcomer onboarding | Ask colleagues / dig through code / read outdated docs | Open the map, click and see |
| Test coverage | Guess branches based on experience | Branches for every hotspot are clear at a glance |
| Product confirms logic | Pull a developer into a meeting | View the flowchart themselves |
| Code memory | Forgotten as soon as AI writes it | Logic leaves a trace, queryable anytime |
How to Use
git clone https://github.com/innepeace/app-atlas.git my-app-atlas
cd my-app-atlas
# Configure your iOS/Android project path
cp atlas.config.example.json atlas.config.json
# Edit the sourceProject field
# Start
node tools/serve.mjs 37421
open http://127.0.0.1:37421/web/
Then let the AI Agent start collecting:
You: Collect the order page in the trade module
AI: (Reads source code → Analyzes VC/VM → Generates manifest.json + logic.md → Done)
You can also manually write manifest.json + logic.md; see the format in README.
Technical Features
- Zero runtime dependencies: Pure ES Modules, runs natively in Node.js and natively in the browser
- Zero build steps: No webpack / vite / turbo, just clone and use
- Purely local deployment: Data never leaves the internal network, suitable for security-sensitive teams in finance, healthcare, etc.
- AI Agent friendly: Structured JSON naturally suits LLM reading, comes with a complete AGENTS.md manual
- Supports screenshots + hotspots: Drag in real device screenshots, automatically associate clickable areas
Current Limitations
Honestly, this project is still in its early stages:
- Mainly targets native iOS/Android apps; Web/Mini Programs etc. haven't been adapted yet
- Collection quality depends on the AI's ability to understand source code
- Expression of non-page-level flows (background tasks, push notification chains) isn't good enough yet
So forks, issues, and PRs are very welcome to improve it together.
Links
- GitHub: https://github.com/innepeace/app-atlas
- Online Demo: https://innepeace.github.io/app-atlas/
If you find it useful, a ⭐ Star is appreciated, and Issues are welcome for exchanging ideas.
Forks, Issues, and PRs are very welcome to improve it together.