Turn any software project's source code into spreadsheet maps.

Codebase Cartography contains tools that export any software project into single spreadsheets, so developers can chart source code folders into context-rich spreadsheet basemaps. Additional customized prompt generators, automations, and web-publishing utilities are also available.

A codebase is the collection of files that makes a piece of software work. Codebase Cartography reads through any project folder on your computer, charts what it finds, and saves it as three coordinated spreadsheets: a Project Map, a Feature Map, and a Content Map. They're available as standard portable .csv / .tsv files, which are formats universally recognized as spreadsheets. Sort and filter them to find answers fast, audit your code, keep snapshots as your project grows, and give AI tools a clear, compact picture of your project.

3
coordinated spreadsheet maps
20+
supported programming languages that are analyzed
CSV · TSV
comma- and tab-separated spreadsheet file formats
Local
your code always stays on your computer

01 · Overview

A living map of your project

Opening an unfamiliar project can feel daunting without a map: hundreds or thousands of files, and no obvious place to start. Codebase Cartography draws the map for you. It lists every file, script, and folder, then records key facts about each one, often called metadata: what kind of file it is, its size, what other code it relies on, what it does, and how complex it is.

For more than 20 programming languages, including Python, JavaScript, Rust, and C#, it looks even deeper: at the functions each file defines (the named building blocks of a program), the code it brings in, the information that flows in and out, what each function hands back, and where stored information changes.

Beginners can get started in a few clicks: choose a folder, scan it, and save your maps. Experienced developers get plenty of depth: detailed code measurements, fine-tuned filters, protection for passwords and keys, and tools for AI prompts and automation. Either way, it saves hours of digging through files by hand.

And because nearly all software is made of files and folders, it fits almost any project, from websites, apps, and games to research scripts and automation tools, and almost any team, from solo developers to large companies in finance, healthcare, retail, education, and beyond.

Understand

See how it all fits together

Get the big picture of any project, including its structure, its connections, and its most complicated parts, without reading every file one by one.

Document

One shared reference

Give developers, testers, designers, translators, accessibility specialists, and project managers the same up-to-date record to work from.

Build

Better help from AI

Give AI coding assistants and LLMs (Large Language Models) organized facts instead of scattered snippets of code. Their suggestions are more likely to fit your project, and they use fewer tokens, the small chunks of text that AI tools read and often charge by.

Especially useful for
  • Getting to know an unfamiliar project
  • Onboarding new team members
  • Code audits and technical reviews
  • Documenting large and enterprise projects
  • Tracking growth and complexity over time
  • Giving AI tools accurate project context
  • Helping Developers stay organized

02 · The three maps

Three views. One codebase.

Each map looks at your project from a different angle. All three share each file’s path, its address inside the project, so you can follow a thread from one map to the next.

The physical layer

Project Map

What’s in the project?

Every file and folder gets its own row. Columns record the basics, such as type, size, and location, then go deeper for code: what other code each file depends on, the functions it defines, how information moves through it, what it changes along the way, how it handles errors, and how complex it is.

The logical layer

Feature Map

What can the code do?

Each row describes a feature, something the software can do, and links it to the files involved. The app fills in a first draft for you, including a classification, descriptive tags, and a complexity score. Then you add what only your team knows: company-specific naming conventions, whether each feature works, what still needs work, QA (Quality Assurance testing guidelines) notes, observations, and your own categories.

The surface layer

Content Map

What do people see?

Lists the parts of the UI (User Interface), meaning everything people see and use on screen: The front-end surface - buttons, labels, headings, form fields, menus, paragraphs, and tooltips (the small hints that pop up when you point at something), and more. Each entry records its text, the file it comes from, when it appears, and where it sits in the layout. It gives you a head start on UX (User Experience) reviews, translation, and accessibility work, which helps make software usable by everyone.

Trace in any direction

Shared file paths connect the maps

Start with a button. Find the file that displays it, see what that file depends on and how complex it is, then see which feature it belongs to.

Start with a file. See everything it puts on screen and every feature it helps power.

Start with a feature. Find the files that build it and every part of the screen people use to reach it.

Your input

Make the maps smarter as you go

The automatic analysis gives you a strong start. Add the context only your team knows, and the Feature Map becomes a living guide to your project.

Name
Give each feature a name people will recognize.
Is working?
Note whether it works as intended.
Needs development?
Flag what still needs work.
Description
Explain what it does in everyday words.
Category
Group features in whatever way suits your team.
Context
Note when and where the feature is available.
QA checks
List tests, tricky edge cases, and past bugs to recheck.
Observations
Note design choices, speed, or code to tidy up later.
Additional notes
Keep anything else worth remembering.

Even a quick pass, such as naming your 20 most important features and marking whether they work, makes the map far more useful.

03 · How it works

From folder to spreadsheets in a few clicks

  1. 01

    Pick a project folder

    Choose any folder of code on your computer, or load a snapshot you saved earlier.

  2. 02

    Choose what to skip

    Optional: common clutter, such as downloaded code libraries and build output, is skipped automatically, and you can add anything else you’d like to leave out.

  3. 03

    Scan and analyze

    The app reads through the project, sorts every file into categories, and pulls out the details that matter.

  4. 04

    Review the results

    Check file counts and types, preview the maps, and see any possible passwords or keys it found, all before you export anything.

  5. 05

    Export and compare

    Save the maps as CSV (Comma-Separated Values) or TSV (Tab-Separated Values) spreadsheet files, copy them to your clipboard, and keep snapshots to compare later.

Structure tree

Lays out every folder and file for you, automatically.

File organization

Sorts scripts into categories and records the measurements that matter for each kind.

Code analysis

Tracks functions, dependencies, complexity, the flow of information, and more.

Selective scanning

Focuses on the parts you care about and leaves out the clutter.

Data statistics

Totals file types, sizes, and code measurements at a glance.

Portable export

Saves files that open in Microsoft Excel, Google Sheets, Apple Numbers, and other spreadsheet apps, or copies them straight to your clipboard.

04 · What it records

What the Project Map captures

Each column answers a different question about a file: how it’s built, how it behaves, and how safe it is to change. Here’s what each one means in everyday words. Learn about every Project, Feature, and Content Map column.

Code logic & structure

Features
What the file helps the software do.
Summary
A short, plain-language description of the file’s purpose.
Functions
The named building blocks defined in the file: its functions, methods, and classes.
Order of operations
The key steps the code follows, in order.
Cyclomatic complexity
A score for how many different paths the code can take. Higher scores mean more branches to understand and test.

Data & state

Data flow / state management
How information moves through the file, and how the program keeps track of things while it runs (its “state”).
State mutation
The places where the file changes stored information in place.
Input sources
Where information comes from, such as values passed in by other code, what people type, or replies from online services.
Output destinations
Where results go: back to other code, into files, or onto the screen.
Return value
The kind of information the file’s main functions hand back when they finish.

Dependencies & environment

Dependencies
The other code the file relies on, from outside libraries (ready-made packages of code) to other files in the same project.
API usage
The services the file calls, inside or outside the project, through APIs (Application Programming Interfaces), the doorways programs use to exchange information.
Execution context
Where the code runs: in the web browser or app (client-side), on a server (server-side), or while the software is being built.

Quality & reliability

Side effects
Changes the code makes beyond its own task, such as updating the web page through the DOM (Document Object Model), changing information the whole program shares, or writing logs.
Error handling coverage
How well the file prepares for things going wrong.
Test coverage
The tests that check this file, or an estimate of how much of it is tested.
Behaviors
What the file does in response to people’s actions or to events in the system.

05 · Built-in tools

More than maps

Codebase Cartography also includes tools for protecting secrets, publishing readable copies of your code, preparing AI prompts, and running exports automatically. Each has its own guide inside the app; here they are in one place.

A Scan filters & secret protectionChoose what gets scanned, and catch passwords and keys before you share

The Exclusions area has three separate filters: folder and file names, file types, and a check of each file’s contents. Together they keep clutter out of your maps, including downloaded libraries, build output, caches, logs, temporary files, and files that aren’t text.

Folders & filenames

Skips folders and files whose names match the patterns you choose, including generated and minified files (code compressed to take up as little space as possible). Skipping a folder also skips everything inside it.

Exact extensions

Skips files by type or by extension, the ending after the dot in a file’s name (such as .log). Important package and settings files written in JSON (JavaScript Object Notation) stay protected from this filter.

Binary content

Reads the first 1,024 bytes of each file and skips it if that sample contains a null byte, a telltale sign of binary (non-text) files such as images and compiled programs. This works even when a file’s extension is missing or misleading.

Sensitive-data warning and redaction

Code sometimes contains secrets by accident: passwords, API keys (codes that let a program use an online service), access tokens, database connection strings, private keys, cloud credentials, webhook signing secrets, and other sign-in details. Codebase Cartography looks for text that resembles these and lists possible findings in the Summary section before you export.

It recognizes the telltale prefixes many services put at the start of their keys, long secret-looking values next to labels such as api_key or client_secret, web addresses with logins built in, private-key blocks, and settings files that often hold secrets. When redaction (hiding sensitive values) is on, each value it finds is replaced with a safe placeholder, and the rest of the map stays useful.

A safety net, not a guarantee.

Pattern matching can miss unusual secrets, and it can flag harmless examples or test data. It never checks whether a secret is real and never contacts outside services. Always review your exports before sharing them, especially for private projects, live systems, customer data, internal infrastructure, or proprietary code.

Recommended practice

  • Keep Redact All turned on unless you have a clear reason not to.
  • Review the flagged files, categories, and rule families in the Summary section.
  • Treat sample data, and anything shaped like a password or key, with care.
  • Check the final output before sharing it publicly.

Detection families include

AI and cloud providers; sign-in (authentication) systems; server infrastructure; private keys and signing files; databases and message queues; messaging services and webhooks (automatic messages sent between web services); mobile SDKs (Software Development Kits); monitoring and SaaS (Software as a Service) tools; package registries (online libraries of reusable code); payment services; source control and code-hosting services; and CI/CD (Continuous Integration and Continuous Delivery) systems, which build, test, and release code automatically.

Formats change, so belonging to a family doesn’t guarantee that every credential will be found.

B Codebase PublisherTurn your code into a browsable, printable website

Choose a project folder, and Codebase Publisher turns it into a self-contained website: one neatly formatted page for each file, linked from a clickable index. Pick a visual style, font sizes, and page width. The result is a set of HTML (HyperText Markup Language) web pages that open in any browser, right from your computer.

On ordinary web pages, long lines of code run off the edge of the screen, and printouts often wrap code without regard for its structure. Codebase Publisher lets you choose how many characters fit on a line and keeps the indentation when lines wrap, so nested code still looks nested. With syntax highlighting, each kind of code, such as numbers, text strings, variables, types, functions, and operators, can have its own color, and comments get their own color and size.

The result reads like a well-typeset document on screen or on paper: a handy way to share, review, or archive a snapshot of your project.

C Prompt ToolsPrepare clear, detailed requests for an AI coding assistant

A prompt is the request you give an AI assistant. Prompt Tools combines your maps, a project profile, your feature notes, and any reference documents into detailed, well-organized prompts. It doesn’t write code or contact an AI service itself; it prepares the context you paste into the AI chat of your code editor or IDE (Integrated Development Environment).

Recommended workflow

  1. Create or load codebase-repository-profile.json, a profile that tells prompts how your project is organized and which conventions it follows.
  2. Attach the Project, Feature, and Content Maps for the project’s structure, its behavior, and what appears on screen.
  3. Write a feature document describing what you want to keep or build.
  4. Review and save it, then load it as the behavior contract: the agreed description the assistant works from.

Best practices

  • Name features with the words a developer would search for in the code.
  • Describe what you want, any limits, and what is out of scope.
  • Keep all three maps up to date when breaking something would be costly.
  • Treat spreadsheet rows as leads, and check every file and detail in the live code.
  • Ask the assistant which commands it ran and what it didn’t test.

How it reduces AI mistakes

The prompts ask the assistant to trace how a feature really works before claiming success: where it starts, which code owns and saves its information, which public APIs and outside code depend on it, what runs in the background, and how it’s built and verified. You can compare the assistant’s plan with your maps, profile, and reference document before accepting any change.

Suggested checks

  • Generate a feature document with all three maps, and confirm the prompt names real files and screens.
  • Generate it again without maps, and confirm the prompt switches to discovery mode, where it explores the code first.
  • Load a matching prepared document, and confirm the prompt treats it as the behavior contract.
  • Load a document that doesn’t match, and confirm the prompt points out the mismatch.
  • Paste the copied prompt into a plain-text editor, and confirm nothing is missing.
D AutomationLet your own trusted apps run approved map exports

Automation lets another program on your computer, running under your own user account, ask Codebase Cartography to run a Generate All Maps preset (a saved, reusable setup) that you’ve already reviewed. The project, save location, file formats, and safety settings stay inside Codebase Cartography, so a request can’t change them.

1Preset editorSave the project folder, output folder, CSV or TSV format, and file names.
2AuthorizationTurn on the master permission that lets other programs under your account make requests.
3ValidateCheck each preset’s fixed ID (identifier), then allow it.
4LauncherCopy the launch instructions, or download the integration kit.
5ActivitySee recent requests with their results, files, redactions, and timing.

Preset editor

Saves a reusable setup using the project and output folders you picked in the app. Every preset exports the Project, Feature, and Content Maps. Saving a preset doesn’t let outside programs run it.

Authorization

The master switch. Each preset must also be valid and on the approved list, known as the allowlist. Turning authorization off blocks future runs and clears the allowlist, but it doesn’t cancel a request that has already been accepted.

Validate

Shows the presets that pass the app’s checks. An outside program refers to a preset only by its fixed ID, so it can’t change the approved folders or output choices.

Launcher

Prepares everything another program needs: where the app is installed, the chosen preset, the request format in JSON, examples, and a test command. Export tests create real map files; the separate readiness check doesn’t.

Integration kit

Includes setup steps, version and launch details, examples grouped by category, a readiness check that doesn’t export anything, an export test, and a security-hardened example program for Node.js (a popular way to run JavaScript outside a web browser).

Activity

A short, best-effort history of recent requests, not a tamper-proof audit log. The result returned to the program that made the request is the final word on each one.

Using Automation from a local web app

A web app that runs on your own computer, built with HTML, CSS (Cascading Style Sheets), and JavaScript, can request an approved preset through a small Node.js helper called a bridge. Web browsers can’t safely start desktop apps on their own, so the bridge keeps the app’s location, the preset ID, your project folders, and export settings out of the browser.

Generate Maps buttonLocal bridgeApproved presetCSV / TSV maps

The bridge should listen only on 127.0.0.1, the address a computer uses to reach itself. It should accept requests only from your exact local pages, allow one fixed action with an empty request, run one job at a time, and reply with short, safe status codes. The browser should never receive project folders, the app’s location, the preset ID, or redaction settings.

06 · Ways to use it

One tool, many uses

01

Plan changes safely

Before you edit a file, see what depends on it, which features it supports, and which screens it affects.

02

Work better with AI

Give AI assistants targeted rows from each map instead of whole folders of code, for more accurate answers and fewer hallucinations (confident-sounding mistakes).

03

Write better prompts

Describe your project in a compact, organized form instead of pasting large amounts of raw code into an AI model, saving both time and tokens.

04

Document a project

Move from plain-language features to the words on screen, then down into the code that makes them work.

05

Spot problems early

Compare exports over time to catch growing files, unexpected changes on screen, features that stopped working, and technical debt (code that needs tidying up later).

06

Translation & accessibility

Start with a list of every piece of on-screen text, linked to its source file, with its type, when it appears, its translation status, and its locale key (the label used to look up each translation).

07

Onboard new teammates

Give new teammates, developers, and contractors guided orientations of the project from day one.

08

Inherit a project

Taking over someone else’s code, an older system, or an acquired product? Get your bearings quickly, before you change anything.

09

Hand off client work

Agencies and freelancers can deliver a clear record of what was built, alongside the code itself.

10

Support audits & reviews

Give reviewers, auditors, and security teams a clear inventory of the code, what it relies on, and where possible secrets turned up, in finance, healthcare, government, or any other field.

11

Brief managers & clients

Share a project’s size, shape, and progress in a format almost everyone already knows how to use: a spreadsheet.

12

Teach and learn

Show students how real software is organized, one file and one function at a time.

13

Game developers

Map gameplay scripts, engine code, and tools written in C#, C++, Lua, and more, so a growing game stays easy to change, debug, and hand off.

14

Technical & production artists

Keep pipeline scripts, tools, and project folders organized and documented, from Python add-ons for 3D apps to the files a production depends on.

15

Sound designers & audio engineers

Trace the code behind a game’s or app’s audio, from the scripts that trigger sounds to plug-in and processing code, and keep audio tools and files in order.

16

3D printing, fabrication & engineering

Document firmware, automation scripts, and parametric CAD code, and keep machine settings and project files organized from prototype to production.

Ways to use it · 01 of 16

Plan changes safely

Before you edit a file, see what depends on it, which features it supports, and which screens it affects.

How it helps

In software, small edits can have surprising ripple effects. Rename a function, move a file, or change what a function hands back, and code in a completely different corner of the project may stop working. Developers call the reach of those ripples a change’s “blast radius”, and measuring it before you start is one of the best ways to avoid breaking things.

The maps let you measure it with a few searches. Filter the Project Map’s Dependencies column for the file you plan to change to find every file that relies on it, check its complexity and test coverage, then follow the shared file path into the Feature Map and Content Map to see which features and on-screen text could be affected.

Example scenarios

  • Renaming a shared helper. Before renaming a function used across the project, filter the Dependencies column for its file to list every file that uses it, so nothing gets missed.
  • Upgrading a library. Planning to update an outside package? Search for it in the Dependencies column to see how many files use it and which features they power, then decide how much testing the upgrade needs.
  • Retiring old code. If no other file lists a script as a dependency, it may be ready to retire. The maps give you evidence to check in the code before you delete anything.
  • Changing a screen. Before rewording or removing a button, look it up in the Content Map to find the file that displays it and the features connected to it.

Example case study: a “quick fix” that stayed quick

A two-person team maintains an online booking site. A customer reports that dates appear in the wrong format, and the fix looks like a one-line change in a shared date-formatting file. Before touching it, one developer filters the Project Map’s Dependencies column for that file and finds nine other files that rely on it, including the invoice generator and the email reminders.

Instead of changing the shared function, they add a new option used only by the booking page, then check the Content Map for every screen that shows a date. The fix ships the same day, and invoices and reminders keep working exactly as before.

Real-world applications

  • Maintaining websites and apps
  • Upgrading libraries and frameworks
  • Refactoring: reorganizing code without changing what it does
  • Database and API (Application Programming Interface) changes
  • Security fixes that must not break anything else
  • Retiring old features

When it helps most

  • The project is large, old, or unfamiliar
  • Several people or teams share the same code
  • There are few automated tests to catch mistakes
  • A deadline leaves no room for surprises

Ways to use it · 02 of 16

Work better with AI

Give AI assistants targeted rows from each map instead of whole folders of code, for more accurate answers and fewer hallucinations (confident-sounding mistakes).

How it helps

AI (Artificial Intelligence) coding assistants are only as good as the context you give them. Paste in too little, and they guess. Paste in too much, and the important details get lost, answers slow down, and costs rise. Either way, you get more hallucinations: answers that sound confident but are wrong.

Your maps are a ready-made briefing. A few Project Map rows tell the assistant how the relevant files are built and what they depend on, Feature Map rows explain what the code is supposed to do, and Content Map rows show what people actually see. The assistant starts from the facts that matter instead of piecing them together from scattered snippets.

Example scenarios

  • Understanding unfamiliar code. Paste the Project Map rows for a folder and ask the assistant to explain how its files work together.
  • Fixing a bug. Share the rows for the files involved, including their dependencies, inputs, outputs, and error handling, so the suggested fix fits the code you really have.
  • Adding a feature. Give the assistant the Feature Map rows for related features, so its suggestion follows the patterns your project already uses.
  • Double-checking a suggestion. If the assistant mentions files or functions that don’t appear in your maps, ask it to check again before you accept anything.

Example case study: the assistant that stopped guessing

A freelance developer asks an AI assistant to add a “forgot password” feature to a client’s app. The first attempt, based on a few pasted files, invents a helper function that doesn’t exist and saves settings in the wrong place.

On the second try, the developer pastes the Project Map rows for the sign-in folder and the Feature Map rows for the existing sign-in features. The assistant now uses the project’s real functions and storage, and its plan lines up with the maps, which makes it much easier to review before any code changes.

Real-world applications

  • AI chat assistants in code editors
  • Code reviews with AI help
  • Explaining legacy code, the older code a business still relies on
  • Drafting documentation with AI
  • Planning larger changes with an AI partner

When it helps most

  • The project is too large to paste into a chat
  • The assistant keeps inventing files or functions
  • You pay for AI by the token
  • Several people use AI on the same project and need consistent context

Ways to use it · 03 of 16

Write better prompts

Describe your project in a compact, organized form instead of pasting large amounts of raw code into an AI model, saving both time and tokens.

How it helps

A prompt is the request you give an AI model, and the best prompts are specific: what you want, where it lives, and what must not break. Writing that context by hand every time is slow, and it’s easy to forget something important.

The maps hold that context in a compact, organized form, and Prompt Tools can assemble it for you. It combines your maps, a project profile, and your feature notes into a detailed prompt, ready to paste into the AI chat in your code editor. Spreadsheet rows usually take far fewer tokens (the small chunks of text AI tools read and often charge by) than whole files of code, so your prompts stay focused and affordable.

Example scenarios

  • Starting a new task. Prepare a feature document with Prompt Tools, then load it as the behavior contract the assistant must follow.
  • Planning before coding. Choose the Strategy / Planning role to ask for a plan first, before any code is written.
  • Checking the work. Use the Verification / QA (Quality Assurance) role to have the assistant review a change against your maps and notes.
  • One shared starting point. Share your project profile, a small .json file, so everyone on the team starts from the same description of the project.

Example case study: from vague request to clear brief

A product designer who writes a little code wants a new “export to PDF” button in an internal tool. Their first prompt, “add a PDF export button”, produces code that ignores the tool’s existing export features.

With Prompt Tools, they attach the three maps, describe the behavior they want in a feature document, and copy the prompt it prepares. This time, the assistant finds the existing export code, reuses it, and lists the files it plans to change, a plan the designer can check against the Feature Map before approving it.

Real-world applications

  • Everyday coding with AI assistants
  • Prototyping: quickly building early versions of an idea
  • Teams that want consistent, repeatable prompts
  • Designers and other non-developers describing changes clearly
  • Keeping AI costs predictable

When it helps most

  • You’re new to working with AI assistants
  • Prompts keep missing important context
  • A change touches several files or features
  • You want a written record of what was asked and why

Ways to use it · 04 of 16

Document a project

Move from plain-language features to the words on screen, then down into the code that makes them work.

How it helps

Documentation often falls behind because writing it by hand takes time, and code changes faster than anyone can keep up. Codebase Cartography gives you a head start: the maps describe every file, feature, and piece of on-screen text automatically, and you can refresh them whenever the code changes.

From there, add what only people know. The Feature Map has columns for plain-language names, descriptions, status, and notes, and your notes carry forward when you regenerate the maps from your saved template. Codebase Publisher can also turn the code itself into a readable, printable website, so the documentation and the code travel together.

Example scenarios

  • A living feature list. Name your key features in the Feature Map and mark whether each one works, creating a status page anyone can read.
  • A tour of the code. Publish the project with Codebase Publisher and share its index page as a browsable reference.
  • A screen-by-screen guide. Filter the Content Map by file to list every button, label, and message on each screen.
  • Release notes. Compare this month’s maps with last month’s to see which features and screens changed.

Example case study: documentation that finally kept up

A nonprofit’s volunteer developers maintain its donation website. Every few years someone writes documentation, and within months it’s out of date. This time, they export the three maps, spend an afternoon naming the 20 most important features and describing each in a sentence, and save the result as their Feature Map template.

Each month, they regenerate the maps. New files appear automatically, their notes carry forward, and the Status column highlights anything new or no longer detected. The documentation now keeps up with the code instead of falling behind.

Real-world applications

  • Internal wikis and knowledge bases
  • Handover documents and technical manuals
  • Documentation for audits and compliance
  • Guides for open-source contributors
  • Onboarding packets for new staff
  • Individual Developers

When it helps most

  • Documentation is missing or out of date
  • The people who wrote the code have moved on
  • Clients, auditors, or partners ask “what does this system do?”
  • You want documentation that keeps up with the code
  • Assistance with cleaning up disorganized, cluttered, or 'Spaghetti code' use cases.

Ways to use it · 05 of 16

Spot problems early

Compare exports over time to catch growing files, unexpected changes on screen, features that stopped working, and technical debt (code that needs tidying up later).

How it helps

Problems in software commonly occur in the iterative process. Files quickly grow until they are difficult to interpret, complexity creeps up, new dependencies sneak in, or a label changes without anyone noticing. Each developmental step might seem harmless enough, but multiple development steps and cycles compound together which ultimately makes the code harder and riskier to work with. That gradual buildup is often called technical debt.

Because every export is a spreadsheet, you can keep dated snapshots (turn on timestamps in Output) and compare them side by side in your spreadsheet app. Sort by size, lines of code, or cyclomatic complexity (a score for how many different paths the code can take) to track the iterative process, and see what’s growing or changing. Use Diff software or AI agents to test for differences and changes that flag any concerns.

Example scenarios

  • A daily health check. Export at the start of each session and sort by complexity to see which files are getting harder to maintain.
  • Before and after a big change. Map the project before starting a new development cycle and again afterwards throughout the iterations to confirm that only the expected files changed.
  • Watching on-screen text. Compare Content Maps between releases to catch wording that may have inadvertently changed by accident.
  • Keeping dependencies in check. Look for new entries in the Dependencies column so no unexpected outside code slips in.

Example case study: the file that grew too big

A small software company compares its quarterly snapshots and notices that one file’s lines of code have more than doubled, while its complexity score keeps climbing. Nothing is broken yet, but most recent bugs have come from that corner of the app.

The team schedules time to split the file into smaller, simpler modules before the next big feature. The following snapshot confirms the result: several smaller files, each with a lower complexity score, and a part of the app that’s easier to test.

Real-world applications

  • Regular code health reviews
  • Release checklists
  • Quality and reliability programs
  • Tracking the progress of a cleanup effort
  • Reporting project health
  • Iteration and rapid prototyping
  • Enables small teams / indie developers

When it helps most

  • The project is growing quickly
  • Code is updated every day / hour / minute!
  • Bugs keep appearing in “stable” areas
  • You want evidence that developmental efforts are working

Ways to use it · 06 of 16

Translation & accessibility

Start with a list of every piece of on-screen text, linked to its source file, with its type, when it appears, its translation status, and its locale key (the label used to look up each translation).

How it helps

Translating software (often called localization) and making it accessible to everyone both start with the same question: what text does the software show, and where does it come from? Answering it by clicking through every screen is slow, and it’s easy to miss messages that appear only in certain situations.

The Content Map answers it for interfaces built with web technologies: HTML, JavaScript, JSX, and TSX. It lists buttons, labels, headings, form fields, tooltips, and messages, together with the file and line each one comes from, when it appears, whether it’s already set up for translation, its locale key, and its ARIA (Accessible Rich Internet Applications) label, the hidden name that screen readers announce for icons and other controls.

Example scenarios

  • Preparing a translation. Filter for text that isn’t localized yet to see exactly what needs setting up before translators can start.
  • Checking screen-reader labels. Find icon buttons without an ARIA label, so people who use screen readers know what each one does.
  • Consistent wording. Sort by text to spot the same action described in different ways, such as “Delete”, “Remove”, and “Discard”.
  • Hidden messages. Filter by visibility and condition to review error and warning messages that rarely appear during testing.

Example case study: going global without the guesswork

A small team selling scheduling software wants to launch in Spanish and French. Instead of hunting through the app screen by screen, they export the Content Map and filter the Is Localized column. It reveals dozens of messages written directly into the code rather than stored in their translation files.

They fix those first, then send translators a clean list with locale keys and context for every piece of text. While they’re at it, they filter the Aria Label column and add missing labels to several icon-only buttons, making the app easier to use with a screen reader.

Real-world applications

  • Translating apps and websites for new markets
  • Accessibility reviews and audits
  • UX (User Experience) writing and style reviews
  • Government and education software that must meet accessibility standards
  • Customer-facing apps in retail, banking, travel, and healthcare
  • Research for academia and/or professional laboratories
  • Independent studios and developers

When it helps most

  • You’re developing new features
  • You’re about to translate the software
  • An accessibility review is coming up
  • Different people have written the on-screen text over the years
  • The app has many screens, dialogs, and messages
  • You’re attempting to make sense of large projects at a glance

Ways to use it · 07 of 16

Onboard new teammates

Give new teammates, developers, and contractors guided orientations of the project from day one.

How it helps

The first weeks on a new project are often spent just figuring out where things are, and asking busy teammates the same questions every newcomer asks. It’s slow for the newcomer and distracting for everyone else.

The maps give newcomers a guided tour. The Project Map shows how the project is organized and which files do what, the Feature Map explains what the software can do, and the Content Map connects screens to the code behind them. Newcomers can explore at their own pace, in spreadsheet formats they already are familiar with working with.

Example scenarios

  • A first-day reading list. Filter the Project Map to the most important folders and share it as a starting point.
  • Self-guided exploration. Newcomers search the maps for a feature they’ll work on and trace it to its files.
  • Fewer interruptions. “Where does this happen?” becomes a quick search instead of a message to a colleague.
  • A confident first task. Pair a first assignment with the Feature Map rows it touches, so the newcomer knows where to start.

Example case study: summer interns, up and running

A university research lab welcomes three summer interns to help with its data-analysis software. In past years, the first two weeks went to explaining the code.

This year, the lab shares its maps, plus a Codebase Publisher website of the code, before the interns arrive. On day one, each intern traces their assigned feature from the Feature Map to its files and arrives at the first meeting with sharper, more specific questions. The staff spend their time mentoring instead of repeating the same tour.

Real-world applications

  • Small teams and individual developers
  • Interns and apprentices
  • Open-source contributors
  • Team members moving between projects
  • Consultants joining a client’s project

When it helps most

  • The team is growing or changes often
  • Senior developers have little time for walkthroughs
  • The code has little documentation
  • People work remotely or across time zones
  • You just want autonomy and productivity

Ways to use it · 08 of 16

Inherit a project

Taking over someone else’s code, an older system, or an acquired product? Get your bearings quickly, before you change anything.

How it helps

Sooner or later, most people who work with software take over code they didn’t write: a former colleague’s project, a system built by an outside agency, or a product that arrived with an acquisition. The original authors may be gone, the documentation may be thin, and you may not know which parts still matter.

A first scan gives you an honest inventory: every file and folder, the languages used, the biggest and most complex files, the outside code the project depends on, and any possible passwords or keys left in the code. Think of it as a home inspection before you start renovating.

Example scenarios

  • A departing colleague. Map the project together before they leave, and use their last weeks to fill in the Feature Map’s notes.
  • An agency-built system. Check what you received: which languages and libraries it uses, how complex it is, and whether any secrets were left in the code.
  • An acquisition. Get a clear picture of a product’s code as part of due diligence, the fact-finding before a deal closes.
  • Reviving an old project. Scan an old codebase to see what it depends on before deciding whether to update it or rebuild it.

Example case study: keeping the lights on

A family-owned shop relies on an online ordering system built years ago by a freelancer who has since moved on. When it needs a small change, the shop hires a new developer who has never seen the code.

Before changing anything, the developer runs a scan. The Summary shows the size and makeup of the project, the Project Map highlights a handful of very complex files at the heart of checkout, and the sensitive-data warning flags a payment key saved directly in a settings file. The developer moves the key somewhere safer, makes the requested change, and leaves the shop with maps for whoever comes next.

Real-world applications

  • Taking over from another developer or team
  • Mergers and acquisitions
  • Moving work from an agency to an in-house team
  • Maintaining older business systems
  • Open-source projects with new maintainers

When it helps most

  • The original authors are no longer available
  • There’s little or no documentation
  • You need to estimate the cost of changes quickly
  • You need to know what you’re responsible for before you commit

Ways to use it · 09 of 16

Hand off client work

Agencies and freelancers can deliver a clear record of what was built, alongside the code itself.

How it helps

When a project changes hands, the code alone rarely tells the whole story. Clients want to know what they paid for, and whoever maintains the project next needs to know how it fits together.

A handoff package can include the three maps, a Feature Map with plain-language names and notes, and a Codebase Publisher website of the code. It shows the client exactly what was delivered, gives the next developer a map instead of a maze, and makes your work look as professional as it is. Before sharing, keep Redact All on and review the export, so no passwords or keys leave with the files.

Example scenarios

  • End-of-project delivery. Include the maps and a published code website with the final files.
  • Milestone reviews. Share updated maps at each milestone to show progress in a format clients can open and read.
  • Support contracts. Compare maps from month to month to show what changed during each support period.
  • Preparing the next team. Hand over a Feature Map listing each feature, its status, and anything that still needs work.

Example case study: a handoff with no follow-up calls

A two-person design studio builds a booking app for a chain of fitness centers. At handover, along with the code, they deliver the three maps, a Feature Map describing each feature in plain words, and a Codebase Publisher website that the client’s IT (Information Technology) team can browse offline.

Months later, the client’s new in-house developer adds a feature using the maps as a guide, without needing to call the studio for help. When the client plans its next project, it hires the studio again.

Real-world applications

  • Web and app agencies
  • Freelance developers and consultants
  • Outsourced and contract development
  • Vendors with documentation requirements in their contracts
  • Open-source projects changing maintainers

When it helps most

  • A contract requires documentation at delivery
  • The client has a technical team that will take over
  • Your clients aren’t technical and want to see what they’re getting
  • You want your work to stand out

Ways to use it · 10 of 16

Support audits & reviews

Give reviewers, auditors, and security teams a clear inventory of the code, what it relies on, and where possible secrets turned up, in finance, healthcare, government, or any other field.

How it helps

Audits and technical reviews start with the same request: show us what you have. Reviewers need to know which files exist, which outside code and services they rely on, and where sensitive information might be hiding. Assembling that by hand is slow and easy to get wrong.

Codebase Cartography produces that inventory as spreadsheets reviewers can sort, filter, and annotate. The Dependencies and API usage columns show outside code and services, the error handling and test coverage columns point to weak spots, and the sensitive-data scan lists possible passwords and keys, all without your code leaving your computer. The maps support a review rather than replace one: detection is based on patterns, and a person should always confirm what matters.

Example scenarios

  • Security reviews. Start with the possible secrets and the files that call outside services, where problems often hide.
  • Supplier code. Map code you received from a supplier to see what it’s made of before you rely on it.
  • Audit preparation. Use the maps as part of the evidence you gather for internal or external audits.
  • License checks. List the outside libraries a project depends on, so someone can confirm their licenses allow the way you use them.

Example case study: ready for the auditors

A small healthcare startup is preparing for its first security assessment, a requirement from a large hospital customer. The auditors ask for an overview of the codebase, the outside services it uses, and how secrets are handled.

The team exports the maps and reviews the sensitive-data findings, which point to two old configuration files holding real credentials. They remove the credentials, rotate (replace) the keys, and export clean maps with Redact All on. The auditors receive a clear, sortable inventory, and the review moves on to the questions that matter.

Real-world applications

  • Security and privacy reviews
  • Technology audits in finance, healthcare, and government
  • Vendor and supplier assessments
  • Due diligence for investments and acquisitions
  • Internal quality and architecture reviews

When it helps most

  • An audit or assessment is on the calendar
  • You work in a regulated field
  • You rely on code written by outside suppliers
  • Nobody is quite sure what the project depends on

Ways to use it · 11 of 16

Brief managers & clients

Share a project’s size, shape, and progress in a format almost everyone already knows how to use: a spreadsheet.

How it helps

Not everyone who cares about a software project reads code. Managers, clients, executives, and investors still need to understand how big a project is, what it can do, and how it’s progressing, and screenshots of code rarely help.

Almost everyone can open a spreadsheet. The app’s Summary section totals the files, folders, sizes, and file types at a glance, the Feature Map lists what the software does in plain language, and snapshots taken over time show progress. Anyone can sort, filter, or chart them in the spreadsheet app they already use.

Example scenarios

  • Status updates. Share the Feature Map’s status columns to show which features work and which still need attention.
  • Scoping new work. Use file counts and complexity scores to explain why one change takes a day and another takes weeks.
  • Budget conversations. Show where the complicated parts are when discussing time and cost.
  • Investor and board updates. Pair a simple chart of the project’s growth with the list of features delivered.

Example case study: the chart that settled a budget debate

A product manager at a shipping company is asked why a seemingly simple change to shipping labels will take three weeks. Instead of a technical explanation, they share a filtered Project Map: the label code touches files with some of the highest complexity scores in the project, and billing, tracking, and customer emails all depend on them.

A simple chart made from the spreadsheet shows those connections at a glance. Leadership approves the timeline and adds time for a cleanup, so future changes will be easier.

Real-world applications

  • Status reports for managers and executives
  • Progress updates for clients
  • Estimates, proposals, and budgets
  • Investor and board updates
  • Handoffs between business and technical teams

When it helps most

  • Decision-makers don’t read code
  • Estimates are being questioned
  • Several teams or clients depend on the project
  • You need to show progress, not just describe it

Ways to use it · 12 of 16

Teach and learn

Show students how real software is organized, one file and one function at a time.

How it helps

Learning to code usually starts with small, tidy examples, but real software is large, messy, and connected in surprising ways. Stepping from one to the other is one of the hardest parts of learning.

Codebase Cartography turns real projects into something students can explore. They can see how files are organized, which functions each file defines, how information flows between parts, and how on-screen text connects to code. Terms like dependency, state, and cyclomatic complexity stop being abstract, because each one has its own column, and the column guide explains every one in plain language.

Example scenarios

  • Exploring open-source projects. Map a well-known open-source project and have students trace one feature from the screen down to the code.
  • Comparing designs. Map two projects that solve the same problem and discuss why they’re organized differently.
  • Feedback on assignments. Map student projects to find very complex files or missing error handling worth discussing.
  • Self-study. Map projects you admire to study how experienced developers structure their work.

Example case study: a classroom with a real codebase

A university professor or high school teacher wants students to practice working with real software examples, not just dry textbook exercises. Each student maps a small open-source web app and answers questions using the maps. Encouraged questioning might include: Which file instantiates the game character? What other files does it depend on? Which function is the most complex, and why?

Students can then make a small change and map the project again to see what moved. By the end of the unit, they can find their way around an unfamiliar codebase, a skill employers value highly.

Real-world applications

  • Computer science and coding courses
  • Coding bootcamps and workshops
  • Self-taught developers
  • Reviews of student projects
  • Mentoring programs

When it helps most

  • Students are ready to move beyond small exercises
  • You want real examples without hours of preparation
  • Learners like to explore at their own pace
  • You want to teach good structure by showing it

Ways to use it · 13 of 16

Game developers

Map gameplay scripts, engine code, and tools written in C#, C++, Lua, and more, so a growing game stays easy to change, debug, and hand off.

How it helps

Games are some of the most complex software around: gameplay scripts, engine code, editor tools, shaders, build scripts, and thousands of asset files, often changing daily as the game is tuned. Keeping track of how it all connects is hard, especially on small teams where everyone wears several hats.

Codebase Cartography maps the code side of a game, including C# (used by Unity and by Godot’s .NET version), C++ (used by Unreal Engine and many custom engines), Lua (a popular scripting language for games and mods), Java, JavaScript, TypeScript, and Rust. You see which scripts depend on which, where the complicated gameplay logic lives, and how data moves between systems such as input, saving, and scoring. Other text files, such as shaders and settings, still appear in the Project Map with their type, size, and location.

Example scenarios

  • Taming a growing codebase. Sort gameplay scripts by complexity to find “god objects”, scripts that try to do far too much, before they slow the team down.
  • Finding what breaks what. Before changing the player controller, filter the Dependencies column to see every script that relies on it.
  • After a game jam. Map a jam prototype to decide which parts are worth keeping for a full game.
  • Modding and tools. Give modders or tool programmers a map of the scripts they’re meant to work with.

Example case study: a patch without surprises

A three-person indie studio has just launched its game, and players are reporting a save-game bug. The save system was written in a rush before launch by a developer who has since left.

The team maps the project and filters the Dependencies column for the save manager script: fourteen scripts rely on it, from the inventory to the achievements. The State mutation and Side effects columns show which of them change saved data directly. With the full picture, they fix the bug in one place, test the connected systems, and ship the patch without breaking anything else.

Real-world applications

  • Unity, Unreal, and Godot projects written in C# or C++
  • Web games built with JavaScript or TypeScript
  • Lua-scripted games and mods
  • In-house engines and editor tools
  • Porting a game to new platforms
  • Games that receive regular updates after launch

When it helps most

  • The game has grown past what one person can remember
  • New programmers or contractors join mid-production
  • You’re fixing bugs after launch under time pressure
  • You’re porting, remastering, or reviving an older game

Ways to use it · 14 of 16

Technical & production artists

Keep pipeline scripts, tools, and project folders organized and documented, from Python add-ons for 3D apps to the files a production depends on.

How it helps

Technical artists and production artists work where art meets code. They write the scripts and tools that move artwork through a production (often called the pipeline), keep naming and folder conventions in order, and make sure thousands of files end up in the right place, in the right format, at the right size.

Codebase Cartography maps that behind-the-scenes code, such as Python scripts and add-ons for Blender, Maya, Houdini, or Nuke, C# editor tools for Unity, C++ plug-ins, and JavaScript automation for design apps, showing what each tool does, what it depends on, and what it reads and writes. It can also inventory the project itself: turn off Ignore binary files to list images, models, and other assets with their type, size, and location. Files over 20 MB are skipped, but the Summary still lists each one, so oversized files are easy to find.

Example scenarios

  • Documenting a pipeline. Map the studio’s tool scripts so artists and programmers can see what each tool does and which files it touches.
  • Asset audits. Include image and model files in a scan, then sort by size to find oversized textures or stray files before a deadline.
  • Naming conventions. Sort the Project Map by folder and file name to spot files that don’t follow the studio’s naming rules.
  • Handing off tools. When a technical artist moves to another project, their scripts come with a map, not just a folder.

Example case study: the project that got heavier every week

A small animation studio’s project keeps getting slower to open, sync, and back up, and nobody knows why. A production artist scans it with Ignore binary files turned off. The Project Map lists every image and model with its size, and the Summary’s Skipped / Excluded Files list names every file over 20 MB.

It turns out that dozens of textures were exported far larger than the shots need, and old test renders are buried in the delivery folders. After a cleanup, the project is much lighter, and the team adds a monthly scan to its checklist so the problem doesn’t creep back.

Real-world applications

  • Game art and technical art teams
  • Animation and visual effects (VFX) studios
  • Architectural visualization
  • Print, packaging, and publishing production
  • Marketing studios with automated asset workflows

When it helps most

  • Tools and scripts have piled up over several projects
  • Artists and programmers need a shared reference
  • Deadlines depend on files being the right size and format
  • A pipeline has to be handed to a new team or vendor

Ways to use it · 15 of 16

Sound designers & audio engineers

Trace the code behind a game’s or app’s audio, from the scripts that trigger sounds to plug-in and processing code, and keep audio tools and files in order.

How it helps

Modern audio work often involves code: game scripts that trigger sounds and music, whether produced by Digital Audio Workstations (DAWs) like Pro Tools or Logic Pro, or by spatial and dynamic sound hardware such as Wwise (Wave Works Interactive Sound Engine), or FMOD (Firelight MOD), the audio tools are connected to game engines, plug-ins and effects written in C++ or Rust, and Python scripts that batch-process thousands of files. When a sound plays at the wrong moment, or not at all, the answer is usually somewhere in that code.

Codebase Cartography helps you find it. Search the maps for your audio system’s name or a sound event to find every script that uses it, then check each file’s dependencies, functions, and data flow to see what triggers the sound and under which conditions. With Ignore binary files turned off, you can also inventory audio files under 20 MB to review their formats, sizes, and folders.

Example scenarios

  • Tracking down a missing sound. Search for the function or event that plays a sound, then check which scripts call it and when.
  • Reviewing plug-in code. Map a C++ or Rust audio plug-in project to see its structure, its most complex parts, and where audio processing happens.
  • Batch-processing tools. Document the Python scripts that convert, normalize, or rename audio files, so others can run them safely.
  • Organizing a sound library. Inventory a library’s folders, formats, and sizes to spot likely duplicates or files in the wrong format.

Example case study: the footsteps that went silent

A game’s footstep sounds stop playing on one level, but only sometimes. The sound designer suspects the audio system; the programmers suspect the level. Together, they map the project and search for the footstep event.

The maps show three different scripts that can trigger footsteps, and one of them checks the type of ground before choosing a sound. A new floor material on that level was never added to its list, so footsteps stayed silent there. With the right script in hand, the fix takes minutes.

Real-world applications

  • Game audio and interactive music
  • Audio plug-in and effects development
  • Podcast, broadcast, and post-production automation
  • Music technology and music education apps
  • Sound libraries and archives

When it helps most

  • Sounds depend on game or app code you didn’t write
  • You work closely with programmers and need a shared view
  • Audio tools and scripts have piled up over time
  • You’re preparing a sound library or project for handoff

Ways to use it · 16 of 16

3D printing, fabrication & engineering

Document firmware, automation scripts, and parametric CAD code, and keep machine settings and project files organized from prototype to production.

How it helps

Making physical things increasingly runs on code: printer and machine firmware, scripts that slice, queue, and monitor jobs, parametric CAD (Computer-Aided Design) models written as code, test rigs, and analysis of engineering results. That code is often written quickly by makers and engineers who are experts in their field rather than in software, and it can be hard for anyone else to pick up.

Codebase Cartography maps it in plain terms. It analyzes C and C++ firmware, Python tools such as OctoPrint plug-ins, Klipper extensions, and CAD-as-code scripts, and the Julia or Rust used for engineering calculations. Settings and job files, such as JSON and INI profiles, OpenSCAD models, and G-code (the step-by-step instructions a 3D printer or CNC (Computer Numerical Control) machine follows), appear in the Project Map with their type, size, and location, as long as each is under 20 MB.

Example scenarios

  • Customizing firmware. Before changing a printer’s firmware, map the project to see which files your change will affect.
  • Running a print farm. Document the scripts that queue jobs, monitor printers, and report failures, so anyone on the team can maintain them.
  • Parametric part libraries. Map a library of CAD-as-code parts to see which models depend on shared measurements or helper functions.
  • Engineering test data. Keep the scripts that analyze test results documented, so results can be reproduced and checked later.

Example case study: a print farm that outgrew its scripts

A small product company prints customer orders on a farm of twenty 3D printers. Over three years, one engineer wrote dozens of Python scripts to queue jobs, check filament, and send alerts. When that engineer moves to a new role, nobody else knows how the system fits together.

Before the handover, they map the project together. The Project Map shows which scripts depend on the printer-control library, the Feature Map gets plain-language names like “low filament alert”, and the sensitive-data warning flags an email password saved in a settings file, which they move somewhere safer. The new owner starts with a clear map instead of a mystery.

Real-world applications

  • 3D printing services and print farms
  • Maker spaces and fab labs
  • Product design and hardware prototyping
  • CNC machining and robotics
  • Manufacturing and lab test automation
  • Engineering research and university labs

When it helps most

  • Machines and tools depend on code written by one person
  • Designs are generated from code, as in parametric CAD
  • Results must be traceable for quality or safety reviews
  • A prototype is turning into a real product

Codebase Cartography

Understand any codebase, mapped and organized.

Developed by Harrison Creative LLC