File Size Overall
  • There are 50 files with 3,905 lines of code.
    • 0 very long files (0 lines of code)
    • 0 long files (0 lines of code)
    • 5 medium size files (1,738 lines of code)
    • 8 small files (1,204 lines of code)
    • 37 very small files (963 lines of code)
0% | 0% | 44% | 30% | 24%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: grouped by folders | grouped by size | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
ts0% | 0% | 62% | 19% | 17%
tsx0% | 0% | 31% | 27% | 40%
css0% | 0% | 0% | 96% | 3%
jsx0% | 0% | 0% | 75% | 24%
mjs0% | 0% | 0% | 0% | 100%
html0% | 0% | 0% | 0% | 100%
js0% | 0% | 0% | 0% | 100%
yaml0% | 0% | 0% | 0% | 100%
cjs0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
apps0% | 0% | 46% | 27% | 26%
cdk0% | 0% | 58% | 37% | 3%
example_prompts0% | 0% | 0% | 75% | 24%
ROOT0% | 0% | 0% | 0% | 100%
.devcontainer0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
webcontainer.ts
in apps/frontend/src/utils
417 19
bedrock.ts
in apps/server/src
395 10
app.ts
in apps/server/src
382 4
PreviewFrame.tsx
in apps/frontend/src/components
300 11
244 1
EditorView.css
in apps/frontend/src/pages
189 -
squirrel_in_a_tree.jsx
in example_prompts
175 -
dynamo.ts
in apps/server/src
175 12
156 3
PuzzleEditor.tsx
in apps/frontend/src/pages
147 1
Editor.css
in apps/frontend/src/pages
128 -
api.ts
in apps/frontend/src/utils
125 6
EditorView.tsx
in apps/frontend/src/pages
109 -
filesystemSync.ts
in apps/frontend/src/utils
94 5
ExistingPuzzlesBrowser.tsx
in apps/frontend/src/components
65 2
LoginFrame.tsx
in apps/frontend/src/components
60 -
EngineerView.tsx
in apps/frontend/src/pages
59 -
dancing_ferret.jsx
in example_prompts
58 -
StartingPromptForm.tsx
in apps/frontend/src/pages
53 -
InitialContent.ts
in apps/frontend/src/pages
52 -
s3.ts
in apps/server/src
52 4
EditableTitle.tsx
in apps/frontend/src/components
44 1
HomepageBrowser.tsx
in apps/frontend/src/pages
43 2
config.ts
in apps/server/src
40 2
models.ts
in apps/common-lib/src/lib
39 -
auth.ts
in apps/server/src
37 1
UserInfoLoader.ts
in apps/frontend/src/components
30 1
Editor.tsx
in apps/frontend/src/components
29 -
App.tsx
in apps/frontend/src
25 -
vite.config.ts
in apps/frontend
24 1
22 1
mjs
eslint.config.mjs
in apps/server
18 -
mjs
eslint.config.mjs
in apps/frontend
16 -
13 -
index.html
in root
13 -
index.html
in apps/frontend
13 -
devenv.yaml
in .devcontainer
11 -
index.css
in apps/frontend/src
10 -
models.ts
in apps/server/src
7 -
models.ts
in apps/frontend/src/utils
6 -
local.ts
in apps/server/src
6 -
main.tsx
in apps/frontend/src
5 -
4 -
lambda.ts
in apps/server/src
4 -
PuzzleInfoContext.tsx
in apps/frontend/src/components
3 -
common-lib.ts
in apps/common-lib/src/lib
3 1
mjs
eslint.config.mjs
in apps/common-lib
2 -
1 -
dbmodels.ts
in apps/server/src
1 -
index.ts
in apps/common-lib/src
1 -
Large Files That Change Often (Top 20)
To change a file, an AI coding agent (or a person) has to read it: these files are read the most for the changes in the past year (lines × changes).
File# lines≈ tokens
to read
# changes
(1y)
≈ lines edited
per change
lines read per
line changed
app.ts
in apps/server/src
382 ~2k–7k 19 ~50 ~10
244 ~1.5k–5k 12 ~50 ~5
webcontainer.ts
in apps/frontend/src/utils
417 ~2k–7k 4 ~150 ~3
bedrock.ts
in apps/server/src
395 ~2k–7k 4 ~150 ~3
PreviewFrame.tsx
in apps/frontend/src/components
300 ~2k–5k 4 ~100 ~3
156 ~1k–3k 6 ~70 ~2
dynamo.ts
in apps/server/src
175 ~1k–3k 4 ~100 ~2
PuzzleEditor.tsx
in apps/frontend/src/pages
147 ~1k–3k 4 ~50 ~3
api.ts
in apps/frontend/src/utils
125 ~700–2k 4 ~50 ~3
EditorView.tsx
in apps/frontend/src/pages
109 ~700–2k 3 ~50 ~3
LoginFrame.tsx
in apps/frontend/src/components
60 ~300–1k 5 ~30 ~2
models.ts
in apps/common-lib/src/lib
39 under 1k 5 ~20 ~2
EditorView.css
in apps/frontend/src/pages
189 ~1k–3k 1 ~200 ~1
squirrel_in_a_tree.jsx
in example_prompts
175 ~1k–3k 1 ~200 ~1
config.ts
in apps/server/src
40 under 1k 4 ~20 ~2
auth.ts
in apps/server/src
37 under 1k 4 ~30 ~1
ExistingPuzzlesBrowser.tsx
in apps/frontend/src/components
65 ~300–1k 2 ~70 ~1
HomepageBrowser.tsx
in apps/frontend/src/pages
43 under 1k 3 ~30 ~2
Editor.css
in apps/frontend/src/pages
128 ~700–2k 1 ~150 ~1
App.tsx
in apps/frontend/src
25 under 1k 5 ~15 ~2

Tokens are lines × 7 to 14 (analysis.fileReadsForChanges). Lines edited per change are the file's lines added and deleted divided by its commits over the whole history. Agents read about 2,000 lines at a time: when a 17,000-line file was split into modules, the tokens an agent read for the same change fell by 83% (The Economic Benefit of Refactoring, 2026).

Files With Most Units (Top 20)
File# lines# units
webcontainer.ts
in apps/frontend/src/utils
417 19
dynamo.ts
in apps/server/src
175 12
PreviewFrame.tsx
in apps/frontend/src/components
300 11
bedrock.ts
in apps/server/src
395 10
api.ts
in apps/frontend/src/utils
125 6
filesystemSync.ts
in apps/frontend/src/utils
94 5
s3.ts
in apps/server/src
52 4
app.ts
in apps/server/src
382 4
156 3
ExistingPuzzlesBrowser.tsx
in apps/frontend/src/components
65 2
HomepageBrowser.tsx
in apps/frontend/src/pages
43 2
config.ts
in apps/server/src
40 2
244 1
22 1
vite.config.ts
in apps/frontend
24 1
UserInfoLoader.ts
in apps/frontend/src/components
30 1
EditableTitle.tsx
in apps/frontend/src/components
44 1
PuzzleEditor.tsx
in apps/frontend/src/pages
147 1
auth.ts
in apps/server/src
37 1
common-lib.ts
in apps/common-lib/src/lib
3 1
Files With Long Lines (Top 18)

There are 18 files with lines longer than 120 characters. In total, there are 42 long lines.

File# lines# units# long lines
bedrock.ts
in apps/server/src
395 10 9
LoginFrame.tsx
in apps/frontend/src/components
60 - 5
app.ts
in apps/server/src
382 4 4
EditableTitle.tsx
in apps/frontend/src/components
44 1 3
StartingPromptForm.tsx
in apps/frontend/src/pages
53 - 3
156 3 2
squirrel_in_a_tree.jsx
in example_prompts
175 - 2
dancing_ferret.jsx
in example_prompts
58 - 2
HomepageBrowser.tsx
in apps/frontend/src/pages
43 2 2
dynamo.ts
in apps/server/src
175 12 2
filesystemSync.ts
in apps/frontend/src/utils
94 5 1
webcontainer.ts
in apps/frontend/src/utils
417 19 1
api.ts
in apps/frontend/src/utils
125 6 1
PreviewFrame.tsx
in apps/frontend/src/components
300 11 1
ExistingPuzzlesBrowser.tsx
in apps/frontend/src/components
65 2 1
InitialContent.ts
in apps/frontend/src/pages
52 - 1
config.ts
in apps/server/src
40 2 1
auth.ts
in apps/server/src
37 1 1
Correlations

File Size vs. Commits (all time): 50 points

apps/common-lib/eslint.config.mjs x: 2 commits (all time) y: 2 lines of code apps/common-lib/src/index.ts x: 2 commits (all time) y: 1 lines of code apps/common-lib/src/lib/models.ts x: 5 commits (all time) y: 39 lines of code apps/frontend/src/App.tsx x: 5 commits (all time) y: 25 lines of code apps/frontend/src/components/EditableTitle.tsx x: 2 commits (all time) y: 44 lines of code apps/frontend/src/components/ExistingPuzzlesBrowser.tsx x: 2 commits (all time) y: 65 lines of code apps/frontend/src/components/LoginFrame.tsx x: 5 commits (all time) y: 60 lines of code apps/frontend/src/components/PreviewFrame.tsx x: 4 commits (all time) y: 300 lines of code apps/frontend/src/components/UserInfoLoader.ts x: 2 commits (all time) y: 30 lines of code apps/frontend/src/main.tsx x: 3 commits (all time) y: 5 lines of code apps/frontend/src/pages/EditorView.tsx x: 3 commits (all time) y: 109 lines of code apps/frontend/src/pages/HomepageBrowser.tsx x: 3 commits (all time) y: 43 lines of code apps/frontend/src/pages/PuzzleEditor.tsx x: 4 commits (all time) y: 147 lines of code apps/frontend/src/pages/StartingPromptForm.tsx x: 2 commits (all time) y: 53 lines of code apps/frontend/src/utils/api.ts x: 4 commits (all time) y: 125 lines of code apps/frontend/src/utils/webcontainer.ts x: 4 commits (all time) y: 417 lines of code apps/server/src/app.ts x: 19 commits (all time) y: 382 lines of code apps/server/src/auth.ts x: 4 commits (all time) y: 37 lines of code apps/server/src/bedrock.ts x: 4 commits (all time) y: 395 lines of code apps/server/src/config.ts x: 4 commits (all time) y: 40 lines of code apps/server/src/dbmodels.ts x: 4 commits (all time) y: 1 lines of code apps/server/src/dynamo.ts x: 4 commits (all time) y: 175 lines of code cdk/lib/cognito-gatekeeper.ts x: 6 commits (all time) y: 156 lines of code cdk/lib/vibecoding-puzzles-lab.ts x: 12 commits (all time) y: 244 lines of code .devcontainer/devenv.yaml x: 2 commits (all time) y: 11 lines of code apps/frontend/eslint.config.mjs x: 2 commits (all time) y: 16 lines of code apps/server/eslint.config.mjs x: 2 commits (all time) y: 18 lines of code eslint.config.js x: 1 commits (all time) y: 22 lines of code cdk/eslint.config.mjs x: 2 commits (all time) y: 13 lines of code cdk/prettier.config.cjs x: 1 commits (all time) y: 1 lines of code apps/frontend/vite.config.ts x: 2 commits (all time) y: 24 lines of code apps/frontend/index.html x: 1 commits (all time) y: 13 lines of code apps/frontend/src/components/Editor.tsx x: 1 commits (all time) y: 29 lines of code apps/frontend/src/index.css x: 1 commits (all time) y: 10 lines of code apps/frontend/src/pages/Editor.css x: 1 commits (all time) y: 128 lines of code apps/frontend/src/pages/EditorView.css x: 1 commits (all time) y: 189 lines of code apps/frontend/src/pages/EngineerView.tsx x: 1 commits (all time) y: 59 lines of code apps/frontend/src/pages/InitialContent.ts x: 1 commits (all time) y: 52 lines of code apps/frontend/src/utils/filesystemSync.ts x: 1 commits (all time) y: 94 lines of code apps/frontend/src/utils/models.ts x: 1 commits (all time) y: 6 lines of code apps/server/src/lambda.ts x: 1 commits (all time) y: 4 lines of code apps/server/src/models.ts x: 1 commits (all time) y: 7 lines of code example_prompts/squirrel_in_a_tree.jsx x: 1 commits (all time) y: 175 lines of code
417.0
lines of code
  min: 1.0
  average: 78.1
  25th percentile: 9.25
  median: 38.0
  75th percentile: 113.0
  max: 417.0
0 19.0
commits (all time)
min: 1.0 | average: 2.84 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 4.0 | max: 19.0

File Size vs. Contributors (all time): 50 points

apps/common-lib/eslint.config.mjs x: 1 contributors (all time) y: 2 lines of code apps/common-lib/src/index.ts x: 1 contributors (all time) y: 1 lines of code apps/common-lib/src/lib/models.ts x: 1 contributors (all time) y: 39 lines of code apps/frontend/src/App.tsx x: 1 contributors (all time) y: 25 lines of code apps/frontend/src/components/EditableTitle.tsx x: 1 contributors (all time) y: 44 lines of code apps/frontend/src/components/ExistingPuzzlesBrowser.tsx x: 1 contributors (all time) y: 65 lines of code apps/frontend/src/components/LoginFrame.tsx x: 1 contributors (all time) y: 60 lines of code apps/frontend/src/components/PreviewFrame.tsx x: 1 contributors (all time) y: 300 lines of code apps/frontend/src/components/UserInfoLoader.ts x: 1 contributors (all time) y: 30 lines of code apps/frontend/src/main.tsx x: 1 contributors (all time) y: 5 lines of code apps/frontend/src/pages/EditorView.tsx x: 1 contributors (all time) y: 109 lines of code apps/frontend/src/pages/PuzzleEditor.tsx x: 1 contributors (all time) y: 147 lines of code apps/frontend/src/pages/StartingPromptForm.tsx x: 1 contributors (all time) y: 53 lines of code apps/frontend/src/utils/api.ts x: 1 contributors (all time) y: 125 lines of code apps/frontend/src/utils/webcontainer.ts x: 1 contributors (all time) y: 417 lines of code apps/server/src/app.ts x: 1 contributors (all time) y: 382 lines of code apps/server/src/auth.ts x: 1 contributors (all time) y: 37 lines of code apps/server/src/bedrock.ts x: 1 contributors (all time) y: 395 lines of code apps/server/src/config.ts x: 1 contributors (all time) y: 40 lines of code apps/server/src/dynamo.ts x: 1 contributors (all time) y: 175 lines of code cdk/lib/cognito-gatekeeper.ts x: 1 contributors (all time) y: 156 lines of code cdk/lib/vibecoding-puzzles-lab.ts x: 1 contributors (all time) y: 244 lines of code .devcontainer/devenv.yaml x: 1 contributors (all time) y: 11 lines of code apps/frontend/eslint.config.mjs x: 1 contributors (all time) y: 16 lines of code apps/server/eslint.config.mjs x: 1 contributors (all time) y: 18 lines of code eslint.config.js x: 1 contributors (all time) y: 22 lines of code cdk/eslint.config.mjs x: 1 contributors (all time) y: 13 lines of code apps/frontend/vite.config.ts x: 1 contributors (all time) y: 24 lines of code apps/frontend/src/components/Editor.tsx x: 1 contributors (all time) y: 29 lines of code apps/frontend/src/pages/Editor.css x: 1 contributors (all time) y: 128 lines of code apps/frontend/src/pages/EditorView.css x: 1 contributors (all time) y: 189 lines of code apps/frontend/src/pages/EngineerView.tsx x: 1 contributors (all time) y: 59 lines of code apps/frontend/src/pages/InitialContent.ts x: 1 contributors (all time) y: 52 lines of code apps/frontend/src/utils/filesystemSync.ts x: 1 contributors (all time) y: 94 lines of code apps/server/src/lambda.ts x: 1 contributors (all time) y: 4 lines of code apps/server/src/models.ts x: 1 contributors (all time) y: 7 lines of code
417.0
lines of code
  min: 1.0
  average: 78.1
  25th percentile: 9.25
  median: 38.0
  75th percentile: 113.0
  max: 417.0
0 1.0
contributors (all time)
min: 1.0 | average: 1.0 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 1.0

File Size vs. Commits (30 days): 0 points

No data for "commits (30d)" vs. "lines of code".

File Size vs. Contributors (30 days): 0 points

No data for "contributors (30d)" vs. "lines of code".


File Size vs. Commits (90 days): 31 points

apps/common-lib/eslint.config.mjs x: 1 commits (90d) y: 2 lines of code apps/common-lib/src/index.ts x: 1 commits (90d) y: 1 lines of code apps/common-lib/src/lib/models.ts x: 1 commits (90d) y: 39 lines of code apps/frontend/src/App.tsx x: 1 commits (90d) y: 25 lines of code apps/frontend/src/components/EditableTitle.tsx x: 1 commits (90d) y: 44 lines of code apps/frontend/src/components/ExistingPuzzlesBrowser.tsx x: 1 commits (90d) y: 65 lines of code apps/frontend/src/components/LoginFrame.tsx x: 1 commits (90d) y: 60 lines of code apps/frontend/src/components/PreviewFrame.tsx x: 1 commits (90d) y: 300 lines of code apps/frontend/src/components/UserInfoLoader.ts x: 1 commits (90d) y: 30 lines of code apps/frontend/src/main.tsx x: 1 commits (90d) y: 5 lines of code apps/frontend/src/pages/EditorView.tsx x: 1 commits (90d) y: 109 lines of code apps/frontend/src/pages/PuzzleEditor.tsx x: 1 commits (90d) y: 147 lines of code apps/frontend/src/pages/StartingPromptForm.tsx x: 1 commits (90d) y: 53 lines of code apps/frontend/src/utils/api.ts x: 1 commits (90d) y: 125 lines of code apps/frontend/src/utils/webcontainer.ts x: 1 commits (90d) y: 417 lines of code apps/server/src/app.ts x: 5 commits (90d) y: 382 lines of code apps/server/src/auth.ts x: 2 commits (90d) y: 37 lines of code apps/server/src/bedrock.ts x: 1 commits (90d) y: 395 lines of code apps/server/src/config.ts x: 2 commits (90d) y: 40 lines of code apps/server/src/dynamo.ts x: 1 commits (90d) y: 175 lines of code cdk/lib/cognito-gatekeeper.ts x: 4 commits (90d) y: 156 lines of code cdk/lib/vibecoding-puzzles-lab.ts x: 3 commits (90d) y: 244 lines of code .devcontainer/devenv.yaml x: 2 commits (90d) y: 11 lines of code apps/frontend/eslint.config.mjs x: 2 commits (90d) y: 16 lines of code apps/server/eslint.config.mjs x: 2 commits (90d) y: 18 lines of code eslint.config.js x: 1 commits (90d) y: 22 lines of code cdk/eslint.config.mjs x: 1 commits (90d) y: 13 lines of code
417.0
lines of code
  min: 1.0
  average: 96.16
  25th percentile: 13.0
  median: 40.0
  75th percentile: 147.0
  max: 417.0
0 5.0
commits (90d)
min: 1.0 | average: 1.45 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 5.0

File Size vs. Contributors (90 days): 31 points

apps/common-lib/eslint.config.mjs x: 1 contributors (90d) y: 2 lines of code apps/common-lib/src/index.ts x: 1 contributors (90d) y: 1 lines of code apps/common-lib/src/lib/models.ts x: 1 contributors (90d) y: 39 lines of code apps/frontend/src/App.tsx x: 1 contributors (90d) y: 25 lines of code apps/frontend/src/components/EditableTitle.tsx x: 1 contributors (90d) y: 44 lines of code apps/frontend/src/components/ExistingPuzzlesBrowser.tsx x: 1 contributors (90d) y: 65 lines of code apps/frontend/src/components/LoginFrame.tsx x: 1 contributors (90d) y: 60 lines of code apps/frontend/src/components/PreviewFrame.tsx x: 1 contributors (90d) y: 300 lines of code apps/frontend/src/components/UserInfoLoader.ts x: 1 contributors (90d) y: 30 lines of code apps/frontend/src/main.tsx x: 1 contributors (90d) y: 5 lines of code apps/frontend/src/pages/EditorView.tsx x: 1 contributors (90d) y: 109 lines of code apps/frontend/src/pages/PuzzleEditor.tsx x: 1 contributors (90d) y: 147 lines of code apps/frontend/src/pages/StartingPromptForm.tsx x: 1 contributors (90d) y: 53 lines of code apps/frontend/src/utils/api.ts x: 1 contributors (90d) y: 125 lines of code apps/frontend/src/utils/webcontainer.ts x: 1 contributors (90d) y: 417 lines of code apps/server/src/app.ts x: 1 contributors (90d) y: 382 lines of code apps/server/src/auth.ts x: 1 contributors (90d) y: 37 lines of code apps/server/src/bedrock.ts x: 1 contributors (90d) y: 395 lines of code apps/server/src/config.ts x: 1 contributors (90d) y: 40 lines of code apps/server/src/dynamo.ts x: 1 contributors (90d) y: 175 lines of code cdk/lib/cognito-gatekeeper.ts x: 1 contributors (90d) y: 156 lines of code cdk/lib/vibecoding-puzzles-lab.ts x: 1 contributors (90d) y: 244 lines of code .devcontainer/devenv.yaml x: 1 contributors (90d) y: 11 lines of code apps/frontend/eslint.config.mjs x: 1 contributors (90d) y: 16 lines of code apps/server/eslint.config.mjs x: 1 contributors (90d) y: 18 lines of code eslint.config.js x: 1 contributors (90d) y: 22 lines of code cdk/eslint.config.mjs x: 1 contributors (90d) y: 13 lines of code
417.0
lines of code
  min: 1.0
  average: 96.16
  25th percentile: 13.0
  median: 40.0
  75th percentile: 147.0
  max: 417.0
0 1.0
contributors (90d)
min: 1.0 | average: 1.0 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 1.0
About This Analysis
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...