Overview
File Change Frequency Overall
  • There are 19 files with 1,646 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 0 files changed 21-50 times (0 lines of code)
    • 0 files changed 6-20 times (0 lines of code)
    • 19 files changed 1-5 times (1,646 lines of code)
0% | 0% | 0% | 0% | 100%
Legend:
101+
51-100
21-50
6-20
1-5

explore: grouped by folders | grouped by update frequency | data
Contributors Count Frequency Overall
  • There are 19 files with 1,646 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 0 files changed by 11-25 contributors (0 lines of code)
    • 0 files changed by 6-10 contributors (0 lines of code)
    • 0 files changed by 2-5 contributors (0 lines of code)
    • 19 files changed by 1 contributor (1,646 lines of code)
0% | 0% | 0% | 0% | 100%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
ts, tsx, txt, md, json, mjs, css, gitignore
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
ts0% | 0% | 0% | 0% | 100%
tsx0% | 0% | 0% | 0% | 100%
css0% | 0% | 0% | 0% | 0%
mjs0% | 0% | 0% | 0% | 0%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
app0% | 0% | 0% | 0% | 100%
components0% | 0% | 0% | 0% | 100%
hooks0% | 0% | 0% | 0% | 100%
services0% | 0% | 0% | 0% | 100%
lib0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
types0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 32)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
16 - 2026-09-16 2026-09-16 1 1 +0 / -1 billa@openai.com billa@openai.com
18 - 2026-09-16 2026-09-16 1 1 +21 / -0 billa@openai.com billa@openai.com
22 - 2026-09-16 2026-09-16 1 1 +2 / -2 billa@openai.com billa@openai.com
file-utils.ts
in lib/browser
22 - 2026-09-16 2026-09-16 1 1 +0 / -55 billa@openai.com billa@openai.com
25 - 2026-09-16 2026-09-16 1 1 +2 / -0 billa@openai.com billa@openai.com
model-selector.tsx
in components/photobooth
30 - 2026-09-16 2026-09-16 1 1 +35 / -0 billa@openai.com billa@openai.com
35 1 2026-09-16 2026-09-16 1 1 +2 / -1 billa@openai.com billa@openai.com
mobile-style-strip.tsx
in components/photobooth
36 - 2026-09-16 2026-09-16 1 1 +6 / -2 billa@openai.com billa@openai.com
desktop-style-panel.tsx
in components/photobooth
41 - 2026-09-16 2026-09-16 1 1 +7 / -1 billa@openai.com billa@openai.com
52 - 2026-09-16 2026-09-16 1 1 +10 / -2 billa@openai.com billa@openai.com
68 1 2026-09-16 2026-09-16 1 1 +13 / -0 billa@openai.com billa@openai.com
capture-stage.tsx
in components/photobooth
107 - 2026-09-16 2026-09-16 1 1 +2 / -2 billa@openai.com billa@openai.com
select.tsx
in components/ui
109 - 2026-09-16 2026-09-16 1 1 +130 / -0 billa@openai.com billa@openai.com
page.tsx
in app/results
117 1 2026-09-16 2026-09-16 1 1 +20 / -13 billa@openai.com billa@openai.com
imagegen-api.ts
in services
138 - 2026-09-16 2026-09-16 1 1 +35 / -23 billa@openai.com billa@openai.com
page.tsx
in app
139 - 2026-09-16 2026-09-16 1 1 +30 / -3 billa@openai.com billa@openai.com
150 - 2026-09-16 2026-09-16 1 1 +2 / -2 billa@openai.com billa@openai.com
151 - 2026-09-16 2026-09-16 1 1 +35 / -7 billa@openai.com billa@openai.com
route.ts
in app/api/photobooth
370 23 2026-09-16 2026-09-16 1 1 +43 / -16 billa@openai.com billa@openai.com
4 -
5 -
utils.ts
in lib
5 1
17 -
21 -
sse.ts
in lib
28 -
style-options-list.tsx
in components/photobooth
46 -
button.tsx
in components/ui
46 -
style-option-card.tsx
in components/photobooth
49 -
60 -
result-preview-modal.tsx
in components/photobooth
68 -
result-image-card.tsx
in components/photobooth
93 -
118 -
Files With Most Churn (Top 32)
Based on the number of lines added and deleted across all commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
select.tsx
in components/ui
109 - 2026-09-16 2026-09-16 1 1 +130 / -0 billa@openai.com billa@openai.com
route.ts
in app/api/photobooth
370 23 2026-09-16 2026-09-16 1 1 +43 / -16 billa@openai.com billa@openai.com
imagegen-api.ts
in services
138 - 2026-09-16 2026-09-16 1 1 +35 / -23 billa@openai.com billa@openai.com
file-utils.ts
in lib/browser
22 - 2026-09-16 2026-09-16 1 1 +0 / -55 billa@openai.com billa@openai.com
151 - 2026-09-16 2026-09-16 1 1 +35 / -7 billa@openai.com billa@openai.com
model-selector.tsx
in components/photobooth
30 - 2026-09-16 2026-09-16 1 1 +35 / -0 billa@openai.com billa@openai.com
page.tsx
in app/results
117 1 2026-09-16 2026-09-16 1 1 +20 / -13 billa@openai.com billa@openai.com
page.tsx
in app
139 - 2026-09-16 2026-09-16 1 1 +30 / -3 billa@openai.com billa@openai.com
18 - 2026-09-16 2026-09-16 1 1 +21 / -0 billa@openai.com billa@openai.com
68 1 2026-09-16 2026-09-16 1 1 +13 / -0 billa@openai.com billa@openai.com
52 - 2026-09-16 2026-09-16 1 1 +10 / -2 billa@openai.com billa@openai.com
mobile-style-strip.tsx
in components/photobooth
36 - 2026-09-16 2026-09-16 1 1 +6 / -2 billa@openai.com billa@openai.com
desktop-style-panel.tsx
in components/photobooth
41 - 2026-09-16 2026-09-16 1 1 +7 / -1 billa@openai.com billa@openai.com
22 - 2026-09-16 2026-09-16 1 1 +2 / -2 billa@openai.com billa@openai.com
capture-stage.tsx
in components/photobooth
107 - 2026-09-16 2026-09-16 1 1 +2 / -2 billa@openai.com billa@openai.com
150 - 2026-09-16 2026-09-16 1 1 +2 / -2 billa@openai.com billa@openai.com
35 1 2026-09-16 2026-09-16 1 1 +2 / -1 billa@openai.com billa@openai.com
25 - 2026-09-16 2026-09-16 1 1 +2 / -0 billa@openai.com billa@openai.com
16 - 2026-09-16 2026-09-16 1 1 +0 / -1 billa@openai.com billa@openai.com
4 -
5 -
utils.ts
in lib
5 1
17 -
21 -
sse.ts
in lib
28 -
style-options-list.tsx
in components/photobooth
46 -
button.tsx
in components/ui
46 -
style-option-card.tsx
in components/photobooth
49 -
60 -
result-preview-modal.tsx
in components/photobooth
68 -
result-image-card.tsx
in components/photobooth
93 -
118 -
Files With Most Contributors (Top 32)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
68 1 2026-09-16 2026-09-16 1 1 +13 / -0 billa@openai.com billa@openai.com
25 - 2026-09-16 2026-09-16 1 1 +2 / -0 billa@openai.com billa@openai.com
page.tsx
in app/results
117 1 2026-09-16 2026-09-16 1 1 +20 / -13 billa@openai.com billa@openai.com
35 1 2026-09-16 2026-09-16 1 1 +2 / -1 billa@openai.com billa@openai.com
route.ts
in app/api/photobooth
370 23 2026-09-16 2026-09-16 1 1 +43 / -16 billa@openai.com billa@openai.com
page.tsx
in app
139 - 2026-09-16 2026-09-16 1 1 +30 / -3 billa@openai.com billa@openai.com
select.tsx
in components/ui
109 - 2026-09-16 2026-09-16 1 1 +130 / -0 billa@openai.com billa@openai.com
model-selector.tsx
in components/photobooth
30 - 2026-09-16 2026-09-16 1 1 +35 / -0 billa@openai.com billa@openai.com
desktop-style-panel.tsx
in components/photobooth
41 - 2026-09-16 2026-09-16 1 1 +7 / -1 billa@openai.com billa@openai.com
capture-stage.tsx
in components/photobooth
107 - 2026-09-16 2026-09-16 1 1 +2 / -2 billa@openai.com billa@openai.com
mobile-style-strip.tsx
in components/photobooth
36 - 2026-09-16 2026-09-16 1 1 +6 / -2 billa@openai.com billa@openai.com
151 - 2026-09-16 2026-09-16 1 1 +35 / -7 billa@openai.com billa@openai.com
150 - 2026-09-16 2026-09-16 1 1 +2 / -2 billa@openai.com billa@openai.com
file-utils.ts
in lib/browser
22 - 2026-09-16 2026-09-16 1 1 +0 / -55 billa@openai.com billa@openai.com
16 - 2026-09-16 2026-09-16 1 1 +0 / -1 billa@openai.com billa@openai.com
18 - 2026-09-16 2026-09-16 1 1 +21 / -0 billa@openai.com billa@openai.com
52 - 2026-09-16 2026-09-16 1 1 +10 / -2 billa@openai.com billa@openai.com
22 - 2026-09-16 2026-09-16 1 1 +2 / -2 billa@openai.com billa@openai.com
imagegen-api.ts
in services
138 - 2026-09-16 2026-09-16 1 1 +35 / -23 billa@openai.com billa@openai.com
118 -
4 -
button.tsx
in components/ui
46 -
result-preview-modal.tsx
in components/photobooth
68 -
result-image-card.tsx
in components/photobooth
93 -
style-options-list.tsx
in components/photobooth
46 -
style-option-card.tsx
in components/photobooth
49 -
60 -
utils.ts
in lib
5 1
sse.ts
in lib
28 -
17 -
21 -
5 -
Files With Least Contributors (Top 32)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
118 -
result-image-card.tsx
in components/photobooth
93 -
result-preview-modal.tsx
in components/photobooth
68 -
60 -
style-option-card.tsx
in components/photobooth
49 -
button.tsx
in components/ui
46 -
style-options-list.tsx
in components/photobooth
46 -
sse.ts
in lib
28 -
21 -
17 -
utils.ts
in lib
5 1
5 -
4 -
route.ts
in app/api/photobooth
370 23 2026-09-16 2026-09-16 1 1 +43 / -16 billa@openai.com billa@openai.com
151 - 2026-09-16 2026-09-16 1 1 +35 / -7 billa@openai.com billa@openai.com
150 - 2026-09-16 2026-09-16 1 1 +2 / -2 billa@openai.com billa@openai.com
page.tsx
in app
139 - 2026-09-16 2026-09-16 1 1 +30 / -3 billa@openai.com billa@openai.com
imagegen-api.ts
in services
138 - 2026-09-16 2026-09-16 1 1 +35 / -23 billa@openai.com billa@openai.com
page.tsx
in app/results
117 1 2026-09-16 2026-09-16 1 1 +20 / -13 billa@openai.com billa@openai.com
select.tsx
in components/ui
109 - 2026-09-16 2026-09-16 1 1 +130 / -0 billa@openai.com billa@openai.com
capture-stage.tsx
in components/photobooth
107 - 2026-09-16 2026-09-16 1 1 +2 / -2 billa@openai.com billa@openai.com
68 1 2026-09-16 2026-09-16 1 1 +13 / -0 billa@openai.com billa@openai.com
52 - 2026-09-16 2026-09-16 1 1 +10 / -2 billa@openai.com billa@openai.com
desktop-style-panel.tsx
in components/photobooth
41 - 2026-09-16 2026-09-16 1 1 +7 / -1 billa@openai.com billa@openai.com
mobile-style-strip.tsx
in components/photobooth
36 - 2026-09-16 2026-09-16 1 1 +6 / -2 billa@openai.com billa@openai.com
35 1 2026-09-16 2026-09-16 1 1 +2 / -1 billa@openai.com billa@openai.com
model-selector.tsx
in components/photobooth
30 - 2026-09-16 2026-09-16 1 1 +35 / -0 billa@openai.com billa@openai.com
25 - 2026-09-16 2026-09-16 1 1 +2 / -0 billa@openai.com billa@openai.com
file-utils.ts
in lib/browser
22 - 2026-09-16 2026-09-16 1 1 +0 / -55 billa@openai.com billa@openai.com
22 - 2026-09-16 2026-09-16 1 1 +2 / -2 billa@openai.com billa@openai.com
18 - 2026-09-16 2026-09-16 1 1 +21 / -0 billa@openai.com billa@openai.com
16 - 2026-09-16 2026-09-16 1 1 +0 / -1 billa@openai.com billa@openai.com
Correlations

File Size vs. Number of Changes: 19 points

app/api/photobooth/route.ts x: 370 lines of code y: 1 # changes app/layout.tsx x: 35 lines of code y: 1 # changes app/page.tsx x: 139 lines of code y: 1 # changes app/results/page.tsx x: 117 lines of code y: 1 # changes components/photobooth/capture-stage.tsx x: 107 lines of code y: 1 # changes components/photobooth/desktop-style-panel.tsx x: 41 lines of code y: 1 # changes components/photobooth/mobile-style-strip.tsx x: 36 lines of code y: 1 # changes components/photobooth/model-selector.tsx x: 30 lines of code y: 1 # changes components/ui/select.tsx x: 109 lines of code y: 1 # changes hooks/use-photobooth-capture.ts x: 150 lines of code y: 1 # changes hooks/use-photobooth-results.ts x: 151 lines of code y: 1 # changes lib/browser/file-utils.ts x: 22 lines of code y: 1 # changes lib/constants.ts x: 16 lines of code y: 1 # changes lib/image-models.ts x: 18 lines of code y: 1 # changes lib/photobooth-session.ts x: 52 lines of code y: 1 # changes middleware.ts x: 68 lines of code y: 1 # changes services/imagegen-api.ts x: 138 lines of code y: 1 # changes types/photobooth.ts x: 25 lines of code y: 1 # changes
1.0
# changes
  min: 1.0
  average: 1.0
  25th percentile: 1.0
  median: 1.0
  75th percentile: 1.0
  max: 1.0
0 370.0
lines of code
min: 16.0 | average: 86.63 | 25th percentile: 25.0 | median: 52.0 | 75th percentile: 138.0 | max: 370.0

Number of Contributors vs. Number of Changes: 19 points

app/api/photobooth/route.ts x: 1 # contributors y: 1 # changes
1.0
# changes
  min: 1.0
  average: 1.0
  25th percentile: 1.0
  median: 1.0
  75th percentile: 1.0
  max: 1.0
0 1.0
# contributors
min: 1.0 | average: 1.0 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 1.0

Number of Contributors vs. File Size: 19 points

app/api/photobooth/route.ts x: 1 # contributors y: 370 lines of code app/layout.tsx x: 1 # contributors y: 35 lines of code app/page.tsx x: 1 # contributors y: 139 lines of code app/results/page.tsx x: 1 # contributors y: 117 lines of code components/photobooth/capture-stage.tsx x: 1 # contributors y: 107 lines of code components/photobooth/desktop-style-panel.tsx x: 1 # contributors y: 41 lines of code components/photobooth/model-selector.tsx x: 1 # contributors y: 30 lines of code components/ui/select.tsx x: 1 # contributors y: 109 lines of code hooks/use-photobooth-capture.ts x: 1 # contributors y: 150 lines of code hooks/use-photobooth-results.ts x: 1 # contributors y: 151 lines of code lib/browser/file-utils.ts x: 1 # contributors y: 22 lines of code lib/constants.ts x: 1 # contributors y: 16 lines of code lib/image-models.ts x: 1 # contributors y: 18 lines of code lib/photobooth-session.ts x: 1 # contributors y: 52 lines of code middleware.ts x: 1 # contributors y: 68 lines of code services/imagegen-api.ts x: 1 # contributors y: 138 lines of code types/photobooth.ts x: 1 # contributors y: 25 lines of code
370.0
lines of code
  min: 16.0
  average: 86.63
  25th percentile: 25.0
  median: 52.0
  75th percentile: 138.0
  max: 370.0
0 1.0
# contributors
min: 1.0 | average: 1.0 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 1.0

Number of Changes vs. Line Churn: 24 points

.gitignore x: 1 # changes y: 3 line churn README.md x: 1 # changes y: 9 line churn app/api/photobooth/route.ts x: 1 # changes y: 59 line churn app/page.tsx x: 1 # changes y: 33 line churn components/photobooth/model-selector.tsx x: 1 # changes y: 35 line churn components/ui/select.tsx x: 1 # changes y: 130 line churn hooks/use-photobooth-results.ts x: 1 # changes y: 42 line churn lib/image-models.ts x: 1 # changes y: 21 line churn package-lock.json x: 1 # changes y: 1712 line churn tests/photobooth.test.ts x: 1 # changes y: 203 line churn
1712.0
line churn
  min: 1.0
  average: 102.67
  25th percentile: 4.0
  median: 12.5
  75th percentile: 51.75
  max: 1712.0
0 1.0
# changes
min: 1.0 | average: 1.0 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 1.0

Number of Contributors vs. Line Churn: 19 points

app/api/photobooth/route.ts x: 1 # contributors y: 59 line churn app/layout.tsx x: 1 # contributors y: 3 line churn app/page.tsx x: 1 # contributors y: 33 line churn components/photobooth/capture-stage.tsx x: 1 # contributors y: 4 line churn components/photobooth/desktop-style-panel.tsx x: 1 # contributors y: 8 line churn components/photobooth/model-selector.tsx x: 1 # contributors y: 35 line churn components/ui/select.tsx x: 1 # contributors y: 130 line churn hooks/use-photobooth-results.ts x: 1 # contributors y: 42 line churn lib/browser/file-utils.ts x: 1 # contributors y: 55 line churn lib/constants.ts x: 1 # contributors y: 1 line churn lib/image-models.ts x: 1 # contributors y: 21 line churn lib/photobooth-session.ts x: 1 # contributors y: 12 line churn middleware.ts x: 1 # contributors y: 13 line churn services/imagegen-api.ts x: 1 # contributors y: 58 line churn types/photobooth.ts x: 1 # contributors y: 2 line churn
130.0
line churn
  min: 1.0
  average: 27.63
  25th percentile: 4.0
  median: 13.0
  75th percentile: 42.0
  max: 130.0
0 1.0
# contributors
min: 1.0 | average: 1.0 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 1.0

File Size vs. Line Churn: 19 points

app/api/photobooth/route.ts x: 370 lines of code y: 59 line churn app/layout.tsx x: 35 lines of code y: 3 line churn app/page.tsx x: 139 lines of code y: 33 line churn app/results/page.tsx x: 117 lines of code y: 33 line churn components/photobooth/capture-stage.tsx x: 107 lines of code y: 4 line churn components/photobooth/desktop-style-panel.tsx x: 41 lines of code y: 8 line churn components/photobooth/mobile-style-strip.tsx x: 36 lines of code y: 8 line churn components/photobooth/model-selector.tsx x: 30 lines of code y: 35 line churn components/ui/select.tsx x: 109 lines of code y: 130 line churn hooks/use-photobooth-capture.ts x: 150 lines of code y: 4 line churn hooks/use-photobooth-results.ts x: 151 lines of code y: 42 line churn lib/browser/file-utils.ts x: 22 lines of code y: 55 line churn lib/constants.ts x: 16 lines of code y: 1 line churn lib/image-models.ts x: 18 lines of code y: 21 line churn lib/photobooth-session.ts x: 52 lines of code y: 12 line churn lib/photobooth-style-utils.ts x: 22 lines of code y: 4 line churn middleware.ts x: 68 lines of code y: 13 line churn services/imagegen-api.ts x: 138 lines of code y: 58 line churn types/photobooth.ts x: 25 lines of code y: 2 line churn
130.0
line churn
  min: 1.0
  average: 27.63
  25th percentile: 4.0
  median: 13.0
  75th percentile: 42.0
  max: 130.0
0 370.0
lines of code
min: 16.0 | average: 86.63 | 25th percentile: 25.0 | median: 52.0 | 75th percentile: 138.0 | max: 370.0