clonemap

28% of LLM apps write their own parser for the JSON the model returns.

In regular Python projects it's 4%. A library for this exists (json_repair); only 2% of those apps use it.

3,075GitHub projects analyzed
420,391functions read and compared
$0.11total cost of the analysis

What projects keep rewriting

Pieces of code that many unrelated projects wrote from scratch, each in its own way. Tap a card to see real examples.

Why it matters

Rewriting the same code does not always mean a library is missing. Sometimes a good one exists and almost nobody uses it, maybe because people don't know about it, or because writing twenty lines feels faster than adding a dependency.

Sometimes nothing fits: the existing tools do something close but not quite what apps need, so every team writes its own version. Telling those cases apart is the interesting part, and that still takes a human looking at the code.

Browse all clusters

A cluster is a group of functions from different projects that do the same job. Showing the ones two AI models agreed on; untick "Confirmed only" to see everything, including what was ruled out.

How this was measured

The idea: if many unrelated projects write the same piece of code by hand, something may be missing — or something exists and is not being found. Nobody has to ask for the library; the code shows the need.

Six steps

Everything ran on one laptop. The only paid part was the AI review at the end.

  1. Pick the projects1,750 LLM apps, 1,025 Django apps and 300 regular Python projects from GitHub — apps, not libraries or tutorials, one project per owner.
  2. Download the codeOnly the Python files, at a fixed version, so every link points to the exact code analyzed.
  3. Cut it into functions420,391 functions of at least 10 lines, leaving out tests and generated code.
  4. Merge copy-pasteNear-identical copies count once: the goal is the same job written in different ways.
  5. Group by meaningA code-reading model places similar functions together; 6,066 groups came out.
  6. Compare and reviewEach group is checked against the regular projects; the top ones were reviewed by two AI models.

The control group

Some code appears in almost every Python program: reading command-line options, setting up logs, loading a settings file. Counting only LLM and Django apps, that code looks specific to them just because they are most of the sample.

So 300 regular Python projects, with no Django and no AI libraries, go through the same steps. Every group is then measured as "share of these apps that have it" divided by "share of regular Python projects that have it". That is the × number in the table.

Command-line argument parsing

18% of LLM apps write it, which made it look "LLM-specific" when compared only among LLM and Django apps. But 7% of regular Python projects write it too, so it is marked common everywhere.

Parsing JSON out of model replies

28% of LLM apps, 4% of regular Python projects. Present in both, but 7 times more common in LLM apps: mostly in LLM apps.

Checked by two AI models

The top 65 groups were shown to two models, each with six functions from different projects. Jev 1.13 (TypeSafe) scored four statements — "calls an AI or web service", "framework boilerplate", "reimplemented utility", "other" — and picked the most likely; if its first choice beat the second by less than 0.15, it counted as unsure. Claude Haiku answered the same question in its own words.

A group is confirmed when both models agree and Jev is not unsure: 32 of 65. Of those, 6 are reimplemented utilities, the cards at the top of the page.

For libraries, Haiku proposed 26 names. Each was checked to exist on PyPI and then scored by Jev on whether it directly solves the job; 12 scored at least 0.7 and are shown. "No existing library passed our check" means none did.

Limits

  • The comparison group is small (300 projects). Something can be missing from it by chance, so small differences are not meaningful.
  • The groups differ in popularity: regular projects come from a list of mostly well-starred repositories; LLM and Django apps include many small ones.
  • One of the two AI reviewers scores each answer separately, so its scores don't add up to 100%; about a third of its reviews came out unsure.
  • Two models agreeing is a lead, not proof. Every finding here deserves a human look at the examples.
  • "% use it" counts projects that list the library as a direct dependency; a library pulled in indirectly is not counted.
  • The code-reading model only sees the first part of long functions.
  • One snapshot of GitHub, taken in October 2026 (data generated 2026-10-23).