The hard part
Counting code sounds easy until the count is wrong. One project first measured 27.5 million lines against about 95,000 of real source, because saved web pages, notebook outputs and backup folders all look like code to a simple count. A figure that wrong, stated confidently, is worse than no figure, and every resume or sales page built on it inherits the mistake.
Every folder is sorted into one of four kinds: source that was written, data the application takes in, output it generates, and duplicates of something counted elsewhere. Only source counts. A single read of each project feeds the dependency graph, the hotspot scores and the unused-code scan, so they cannot disagree about which files exist. The same measurements drive a nightly security sweep, answer AI agents in any project through MCP, a standard protocol for giving agents tools, and supply this portfolio's figures, which are quoted from measurements rather than typed from memory.
A 27.5 million-line count corrected to the real figure of about 95,000 by attributing each folder; three analyses that disagreed by almost 4,000 files now agree on 146 of 146 projects; every defect that shipped is recorded with the test that guards it.
What the measurements mean
Only what is unusual for this project. Every sentence names the field it came from; nothing here is asserted that cannot be checked against the data.
- At 104,824 authored lines it is one of the larger things here, roughly 12x the median project in this estate. authored_linesfrom authored_lines
- It serves 2 HTTP endpoints and declares ports 8124, 9100, 9110, 43818, so it runs as a service rather than a script.see the evidencefrom assets.routes, assets.ports
- It was changed within the last week, so this is work in progress. activefrom mtime_newest_code
- The code defines 1,697 functions, 81 methods and 24 classes. Only 134 of its 135 Python files were parsed, so those are floors rather than totals.see the evidencefrom pythonAst.counts, pythonAst.coverage
How it works
Counting code sounds simple, and that is the trap. A naive line count of one project here read 27.5 million lines; the real source was about 95,000. Saved web pages, notebook outputs and backup folders all look like code to a simple count. So CodeAtlas sorts every top-level folder into one of four kinds: source that was written, material the application takes in, output it generates, and duplicates of something counted elsewhere. Only the first kind counts as authored, and the page always shows what was set aside. When a measurement did not run, it says so and why, rather than showing a zero that looks like a fact. That habit of checking runs through the rest of it. The dependency graph, the complexity hotspots and the unused-code report all come from a single read of each project, so they cannot disagree about which files exist. It looks for credentials in the git history as well as the current files, and the value itself never leaves the scanning process. A read-only server lets AI agents working in any of my other projects query it directly, so they can find what already exists before writing something new. The same approach runs a security sweep across every Python environment on the machine. Installed packages are checked against public vulnerability data, including CISA's list of flaws being exploited in the wild, and ranked by what is running and reachable. Each fix is tested side by side against the old environment before it goes in. It also builds my resume, portfolio and public site from one set of career records, with a register that keeps employer figures off public pages and quotes figures about the estate from measurements rather than memory.
What it is built from
Each bar is one of this project's own modules, sized by how many times the rest of the project imports it. The counts are measured, not estimated, and the module at the top is the one the rest of the project leans on most.
What kind of engineering this is
Six signals counted from the source: files that run models locally, that act without being asked each time, that check their own output, that survive failure, that touch parsers and protocols, and that were measured then improved. Every axis carries its file count.
What it is written in
Share of code bytes. Vendored bundles and generated output are set aside before this is computed, which is why it differs from a simple file count.
What stands out
- Every line is sorted into source, ingested, generated or duplicate, and what was set aside is always shown
- One read of each project feeds three analyses, so they cannot disagree about which files exist
- A vulnerability sweep across every environment, ranked by what runs, with each fix proved against the old environment
- A read-only server lets AI agents in other projects ask what exists before they build
- The resume and portfolio come from one store, every figure carries its evidence, and employer figures stay private
- Every defect that shipped is recorded with the test that now guards against it
Capabilities
- Why it exists
- Start here when starting something new
- The three outputs
- How it works
- Accuracy machinery
- Everyday use
- Screenshots — manual, on purpose
- The one thing that writes elsewhere
- Personalising the portfolio
- Requirements
Grade
Every check names the field it measured. Checks that cannot apply are excluded, never counted as failures.
- provenance100.0%
- documentation100.0%
- runnability100.0%
- maintenance100.0%
- integrity100.0%
Architecture
Directories carrying real modules, largest first.
tools86 moduleshub1 modulesite1 module
HTTP surface
2 endpoints in total.
ROUTE /xPOST /generate/stream
Data model
Typed structures and tables found in the source.
- meta
- meta_project
- fingerprints
Vulnerable dependencies
2 declared dependencies match a published advisory. Checked offline against the OSV database; only pinned versions can be checked, so anything unpinned here is unknown rather than clean.
- Should fix.
pip26.0.1→ 26.1GHSA-58qw-9mgm-455v, GHSA-jp4c-xjxw-mgf9, GHSA-qwm4-qh6w-59xr - Should fix.
setuptools80.9.0→ 83.0.0GHSA-h35f-9h28-mq5c, GHSA-xmj3-9gf7-h52w, PYSEC-2026-3447
Vocabulary
Parsed 134 of 135 Python file(s); the rest were over the size budget. Counts are exact; the names below are a sample.
Classes
Guardhub/build.py:60__init__, whyWalkertools/scan.py:362__init__, skip_dir, walkDoctools/_docx.py:94__init__, para, runs, bullet, _p, saveFoundtools/_lang.py:50__init__Languagetools/_lang.py:94__init__, __repr___PyVisitortools/_lang.py:165__init__, _annotated, visit_FunctionDef, visit_ClassDef, visit_Assign, visit_Str, visit_CoReadtools/_lang.py:809__init__, methods, parsed, total, cover_shareUnmeasuredtools/facts.py:60Recordtools/career.py:176__init__, edited, authored, publish, render, as_rowReporttools/doctor.py:42__init__, add, worsttimedtools/events.py:129__init__, __enter__, __exit__SchemaErrortools/schema.py:35PostingErrortools/tailor.py:965Coltools/_result.py:84__init__, as_dictResulttools/_result.py:111__init__, as_dictSourcetools/_source.py:72__init___Teetools/refresh.py:53__init__, write, flushParatools/docx_read.py:46__init__, __repr__, as_dict_Surfacetools/deps_usage.py:251__init__, _root, visit_Import, visit_ImportFrom, visit_Attribute_EveryRoottools/deps_usage.py:303__init__, _put, visit_Import, visit_ImportFrom, visit_AttributeResulttools/verify_page.py:172__init__, ok, bad, failedJobtools/console_server.py:1304__init__, run, stateHandlertools/console_server.py:2414log_message, _send, _json, _safe_path, do_GET, _applications, _tailor, _origin_ok_OneOnlytools/console_server.py:3674
Functions
eschub/build.py:52nhub/build.py:56keep_projectshub/build.py:101title_ofhub/build.py:147link_chipshub/build.py:153writeupshub/build.py:160playhub/build.py:189statshub/build.py:211langbarhub/build.py:216project_cardhub/build.py:225diveshub/build.py:247hold_linkshub/build.py:261striphub/build.py:275fillhub/build.py:281mainhub/build.py:291checkouttools/_git.py:28has_historytools/_git.py:60repo_dirtools/_git.py:71to_projecttools/_git.py:88to_repotools/_git.py:96_readtools/deps.py:60from_requirementstools/deps.py:68from_package_locktools/deps.py:92from_package_jsontools/deps.py:124
Command line
- --all
- --write
- --days
- --project
- --limit
- --json
- --dry-run
- --nightly
- --open
- --min-lines
Depth
Signals counted from the code, not asserted.
286 commits across 39 separate working days over 2.9 months, 13 of them revising existing behaviour
Built from scratch
- Parser / lexer
- Concurrency primitives
- Renderer / graphics pipeline
- Terminal / VT emulation
- Protocol / wire format
- Compiler / transpiler
Closes its own loop
- Tool-calling agents
- Evaluation / scoring
- Unattended task execution
- Memory / accumulated state
- Planning / decomposition
Proves itself
- Reconciliation / audits
- Benchmarks
- Golden / baseline files
- Backtesting / evaluation
- Smoke tests
Survives failure
- Timeouts
- Recovery / restore
- Fallback paths
- Retry / backoff
- Logging / observability
- Rate limiting
Local inference
- Local diffusion
- Local TTS
- Ollama
- TabbyAPI / ExLlama
- Direct torch inference
- Embeddings / vector search
Systems
Environment engineering
- Virtual environments
- Dependency isolation
- Runtime detection
Distributed systems
- Worker orchestration
- Provisioning / bootstrap
- Health / heartbeat
Working within limits
- Timeout budgets
- Memory ceilings
- Throttling / rate limits
Networking
- WireGuard / VPN
- DNS
- Tunnels / reverse proxy
- WebSocket transport
GPU & memory management
- Quantisation
- VRAM budgeting
Languages
- Python94,082
- Batchfile586
- PowerShell541
- JavaScript231
- Shell24
Recurring themes in the commit history
- resume
- refresh
- inventory
- runbook
- project
- page
- career
- codeatlas
- security
- owner
Evidence
Taken from the code itself: a module docstring or the opening of the README.
Build the notes hub: a landing page for every write-up and playable build, and an anonymous portfolio -- no name, no contact, no employer, nothing that locates anyone. python hub/build.py write index.html and portfolio.html python hub/build.py --stage DIR also copy only the publishable files into DIR WHERE THINGS COME FROM. The projects, their words and their links are the portfolio's own payload
At a glance
- Status
- active
- Primary language
- Python
- First commit
- 2026-08-17
- Last activity
- 2026-11-12
- Domain
- Python projects
- Agent docs
- CLAUDE.md, AGENTS.md, .claude