openai / openai-builder-lab-solution
File Change Frequency

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

Overview
File Change Frequency Overall
  • There are 6 files with 521 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)
    • 6 files changed 1-5 times (521 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 6 files with 521 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)
    • 6 files changed by 1 contributor (521 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, json, css, gitignore, mjs, txt, svg, py, cjs, md
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py0% | 0% | 0% | 0% | 100%
ts0% | 0% | 0% | 0% | 0%
css0% | 0% | 0% | 0% | 0%
tsx0% | 0% | 0% | 0% | 0%
cjs0% | 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
challenge40% | 0% | 0% | 0% | 100%
challenge50% | 0% | 0% | 0% | 100%
challenge30% | 0% | 0% | 0% | 100%
challenge20% | 0% | 0% | 0% | 100%
challenge10% | 0% | 0% | 0% | 100%
starting_point0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
app.py
in starting_point/python-backend
23 2 2025-01-31 2025-01-31 1 1 katia@openai.com katia@openai.com
app.py
in challenge1/python-backend
25 2 2025-01-31 2025-01-31 1 1 katia@openai.com katia@openai.com
app.py
in challenge2/python-backend
74 3 2025-01-31 2025-01-31 1 1 katia@openai.com katia@openai.com
app.py
in challenge3/python-backend
133 4 2025-01-31 2025-01-31 1 1 katia@openai.com katia@openai.com
app.py
in challenge5/python-backend
133 4 2025-01-31 2025-01-31 1 1 katia@openai.com katia@openai.com
app.py
in challenge4/python-backend
133 4 2025-01-31 2025-01-31 1 1 katia@openai.com katia@openai.com
tools.ts
in challenge1/frontend/lib
2 -
tools.ts
in starting_point/frontend/lib
2 -
mjs
next.config.mjs
in challenge3/frontend
3 -
mjs
next.config.mjs
in challenge5/frontend
3 -
mjs
next.config.mjs
in challenge2/frontend
3 -
mjs
next.config.mjs
in challenge1/frontend
3 -
mjs
next.config.mjs
in starting_point/frontend
3 -
mjs
next.config.mjs
in challenge4/frontend
3 -
utils.ts
in challenge3/frontend/lib
5 1
utils.ts
in challenge5/frontend/lib
5 1
utils.ts
in challenge2/frontend/lib
5 1
utils.ts
in challenge1/frontend/lib
5 1
utils.ts
in starting_point/frontend/lib
5 1
utils.ts
in challenge4/frontend/lib
5 1
mjs
postcss.config.mjs
in challenge3/frontend
7 -
mjs
postcss.config.mjs
in challenge5/frontend
7 -
mjs
postcss.config.mjs
in challenge2/frontend
7 -
mjs
postcss.config.mjs
in challenge1/frontend
7 -
constants.ts
in starting_point/frontend/lib
7 -
mjs
postcss.config.mjs
in starting_point/frontend
7 -
mjs
postcss.config.mjs
in challenge4/frontend
7 -
page.tsx
in challenge3/frontend/app
8 -
page.tsx
in challenge5/frontend/app
8 -
page.tsx
in challenge2/frontend/app
8 -
page.tsx
in challenge1/frontend/app
8 -
page.tsx
in starting_point/frontend/app
8 -
page.tsx
in challenge4/frontend/app
8 -
constants.ts
in challenge2/frontend/lib
10 -
constants.ts
in challenge1/frontend/lib
10 -
constants.ts
in challenge3/frontend/lib
18 -
route.ts
in starting_point/frontend/app/api/get_response
19 1
route.ts
in challenge1/frontend/app/api/get_response
20 1
route.ts
in challenge3/frontend/app/api/get_response
23 1
route.ts
in challenge3/frontend/app/api/create_itinerary
23 1
route.ts
in challenge5/frontend/app/api/create_itinerary
23 1
route.ts
in challenge2/frontend/app/api/get_response
23 1
route.ts
in challenge4/frontend/app/api/get_response
23 1
route.ts
in challenge4/frontend/app/api/create_itinerary
23 1
message.css
in challenge5/frontend/components
24 -
message.css
in challenge3/frontend/components
25 -
message.css
in challenge2/frontend/components
25 -
message.css
in challenge1/frontend/components
25 -
message.css
in starting_point/frontend/components
25 -
message.css
in challenge4/frontend/components
25 -
Files With Most Contributors (Top 50)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
app.py
in challenge4/python-backend
133 4 2025-01-31 2025-01-31 1 1 katia@openai.com katia@openai.com
app.py
in starting_point/python-backend
23 2 2025-01-31 2025-01-31 1 1 katia@openai.com katia@openai.com
app.py
in challenge1/python-backend
25 2 2025-01-31 2025-01-31 1 1 katia@openai.com katia@openai.com
app.py
in challenge2/python-backend
74 3 2025-01-31 2025-01-31 1 1 katia@openai.com katia@openai.com
app.py
in challenge5/python-backend
133 4 2025-01-31 2025-01-31 1 1 katia@openai.com katia@openai.com
app.py
in challenge3/python-backend
133 4 2025-01-31 2025-01-31 1 1 katia@openai.com katia@openai.com
useConversationStore.ts
in challenge4/frontend/stores
29 -
tailwind.config.ts
in challenge4/frontend
63 -
message.css
in challenge4/frontend/components
25 -
chat.tsx
in challenge4/frontend/components
107 -
tool-call.tsx
in challenge4/frontend/components
91 -
assistant.tsx
in challenge4/frontend/components
43 1
voice-mode.tsx
in challenge4/frontend/components
162 3
message.tsx
in challenge4/frontend/components
52 -
prettier.config.cjs
in challenge4/frontend
33 -
mjs
postcss.config.mjs
in challenge4/frontend
7 -
route.ts
in challenge4/frontend/app/api/create_itinerary
23 1
route.ts
in challenge4/frontend/app/api/get_response
23 1
route.ts
in challenge4/frontend/app/api/session
27 1
route.ts
in challenge4/frontend/app/api/search_location
26 1
page.tsx
in challenge4/frontend/app
8 -
globals.css
in challenge4/frontend/app
89 -
layout.tsx
in challenge4/frontend/app
35 1
tools.ts
in challenge4/frontend/lib
91 -
assistant.ts
in challenge4/frontend/lib
74 1
utils.ts
in challenge4/frontend/lib
5 1
constants.ts
in challenge4/frontend/lib
26 -
mjs
next.config.mjs
in challenge4/frontend
3 -
useConversationStore.ts
in starting_point/frontend/stores
29 -
tailwind.config.ts
in starting_point/frontend
63 -
message.css
in starting_point/frontend/components
25 -
chat.tsx
in starting_point/frontend/components
102 -
tool-call.tsx
in starting_point/frontend/components
91 -
assistant.tsx
in starting_point/frontend/components
43 1
message.tsx
in starting_point/frontend/components
52 -
prettier.config.cjs
in starting_point/frontend
33 -
mjs
postcss.config.mjs
in starting_point/frontend
7 -
route.ts
in starting_point/frontend/app/api/get_response
19 1
page.tsx
in starting_point/frontend/app
8 -
globals.css
in starting_point/frontend/app
89 -
layout.tsx
in starting_point/frontend/app
35 1
tools.ts
in starting_point/frontend/lib
2 -
assistant.ts
in starting_point/frontend/lib
54 -
utils.ts
in starting_point/frontend/lib
5 1
constants.ts
in starting_point/frontend/lib
7 -
mjs
next.config.mjs
in starting_point/frontend
3 -
useConversationStore.ts
in challenge1/frontend/stores
29 -
tailwind.config.ts
in challenge1/frontend
63 -
message.css
in challenge1/frontend/components
25 -
chat.tsx
in challenge1/frontend/components
102 -
Files With Least Contributors (Top 50)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
chart.tsx
in challenge5/frontend/components/ui
311 1
assistant.ts
in challenge5/frontend/lib
205 1
voice-mode.tsx
in challenge5/frontend/components
199 4
voice-mode.tsx
in challenge4/frontend/components
162 3
tool-call.tsx
in challenge5/frontend/components
113 -
chat.tsx
in challenge4/frontend/components
107 -
chat.tsx
in starting_point/frontend/components
102 -
chat.tsx
in challenge1/frontend/components
102 -
chat.tsx
in challenge2/frontend/components
102 -
chat.tsx
in challenge3/frontend/components
102 -
table.tsx
in challenge5/frontend/components/ui
100 -
chat.tsx
in challenge5/frontend/components
96 -
tool-call.tsx
in challenge4/frontend/components
91 -
tools.ts
in challenge4/frontend/lib
91 -
tool-call.tsx
in starting_point/frontend/components
91 -
tool-call.tsx
in challenge1/frontend/components
91 -
tool-call.tsx
in challenge2/frontend/components
91 -
tools.ts
in challenge5/frontend/lib
91 -
tool-call.tsx
in challenge3/frontend/components
91 -
tools.ts
in challenge3/frontend/lib
91 -
globals.css
in challenge4/frontend/app
89 -
globals.css
in starting_point/frontend/app
89 -
globals.css
in challenge1/frontend/app
89 -
globals.css
in challenge2/frontend/app
89 -
route.ts
in challenge5/frontend/app/api/get_response
89 3
globals.css
in challenge5/frontend/app
89 -
globals.css
in challenge3/frontend/app
89 -
assistant.ts
in challenge4/frontend/lib
74 1
assistant.ts
in challenge2/frontend/lib
74 1
assistant.ts
in challenge3/frontend/lib
74 1
tailwind.config.ts
in challenge4/frontend
63 -
tailwind.config.ts
in starting_point/frontend
63 -
tailwind.config.ts
in challenge1/frontend
63 -
tailwind.config.ts
in challenge2/frontend
63 -
tailwind.config.ts
in challenge5/frontend
63 -
tailwind.config.ts
in challenge3/frontend
63 -
assistant.ts
in starting_point/frontend/lib
54 -
assistant.ts
in challenge1/frontend/lib
54 -
message.tsx
in challenge4/frontend/components
52 -
message.tsx
in starting_point/frontend/components
52 -
message.tsx
in challenge1/frontend/components
52 -
message.tsx
in challenge2/frontend/components
52 -
message.tsx
in challenge3/frontend/components
52 -
button.tsx
in challenge5/frontend/components/ui
46 -
assistant.tsx
in challenge4/frontend/components
43 1
assistant.tsx
in starting_point/frontend/components
43 1
assistant.tsx
in challenge1/frontend/components
43 1
assistant.tsx
in challenge2/frontend/components
43 1
message.tsx
in challenge5/frontend/components
43 -
assistant.tsx
in challenge3/frontend/components
43 1
Correlations

File Size vs. Number of Changes: 6 points

challenge1/python-backend/app.py x: 25 lines of code y: 1 # changes challenge2/python-backend/app.py x: 74 lines of code y: 1 # changes challenge3/python-backend/app.py x: 133 lines of code y: 1 # changes starting_point/python-backend/app.py x: 23 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 133.0
lines of code
min: 23.0 | average: 86.83 | 25th percentile: 24.5 | median: 103.5 | 75th percentile: 133.0 | max: 133.0

Number of Contributors vs. Number of Changes: 6 points

challenge1/python-backend/app.py 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: 6 points

challenge1/python-backend/app.py x: 1 # contributors y: 25 lines of code challenge2/python-backend/app.py x: 1 # contributors y: 74 lines of code challenge3/python-backend/app.py x: 1 # contributors y: 133 lines of code starting_point/python-backend/app.py x: 1 # contributors y: 23 lines of code
133.0
lines of code
  min: 23.0
  average: 86.83
  25th percentile: 24.5
  median: 103.5
  75th percentile: 133.0
  max: 133.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