How I got over 13M lines of code within 182 commits in my side project

🔗 My Git Activity Story Repo: https://github.com/livesession/xyd

TL;DR — Highlights ⚡

🗓️ Range: Dec 01, 2024 → Aug 19, 2025 • 262 days
🧑‍💻 Commits: 182 • Active days: 108 (41.2%)
🧾 Raw lines: ~13.8M (exact: 13,785,977) (+~7.3M (exact: …


This content originally appeared on DEV Community and was authored by Patryk Zdunowski

🔗 My Git Activity Story Repo: https://github.com/livesession/xyd

TL;DR — Highlights ⚡

  • 🗓️ Range: Dec 01, 2024 → Aug 19, 2025 • 262 days
  • 🧑‍💻 Commits: 182 • Active days: 108 (41.2%)
  • 🧾 Raw lines: ~13.8M (exact: 13,785,977) (+~7.3M (exact: 7,341,870) / -~6.4M (exact: 6,444,107))
  • 🏆 Spike #1: May 25, 2025 — ~4.0M (exact: 3,998,050) (JSON/YAML (any) 97.9% • Tests 99.8%)
  • 🔥 Longest streak: 108 days • ⏰ Fav hours: 23:00 (75 commits), 22:00 (14 commits), 03:00 (10 commits)
  • 🧼 Baseline (cleaned): excludes only the exact spike-causing tests/fixtures JSON/YAML; median 3,821/day, p90 46,572/day, avg 8,955.3 lines/commit xyd zdunecki contribution

1) Daily activity (raw) 📈

Here’s every day’s line churn (adds + deletes). One day absolutely explodes — that’s our Spike #1.

Daily lines (raw)

Figure 1. Daily line changes with a 7-day average. Spike #1 is highlighted.

Why I looked into this 🤔

After eyeballing the daily chart, the totals looked like millions of lines 😳.

No way that was all hand-written code — so I dug into the spikes to separate real work from data dumps.

2) Okay, what actually caused Spike #1? 🔍

May 25, 2025 clocks in at ~4.0M (exact: 3,998,050) changed lines (29.0% of the whole period). Most of that is data-ish files (JSON/YAML) and some tests. Here are the heavyweight files that blew up the chart:

Top files by lines changed:

Path Adds Deletes Total lines
packages/xyd-gql/fixtures/-2.complex.github/output.json 2015878 0 2015878
packages/xyd-gql/fixtures/-2.complex.monday/output.json 1896771 0 1896771
packages/xyd-gql/fixtures/-2.complex.github/input.graphql 69424 0 69424
examples/graphql-monday/schema.graphql 6093 0 6093
packages/xyd-gql/fixtures/-2.complex.monday/input.graphql 6089 0 6089
packages/xyd-gql/fixtures/1.basic/output.json 470 229 699
packages/xyd-gql/src/converters/gql-field.ts 347 152 499
packages/xyd-gql/fixtures/4.union/output.json 382 0 382
packages/xyd-gql/fixtures/3.opendocs/output.json 334 0 334
packages/xyd-gql/fixtures/2.circular/output.json 226 63 289
packages/xyd-gql/fixtures/5.flat/output2.json 242 0 242
packages/xyd-gql/fixtures/-1.od_gqls.flat/output.json 177 0 177
packages/xyd-gql/fixtures/5.flat/output.json 177 0 177
packages/xyd-gql/src/utils.ts 78 41 119
packages/xyd-gql/src/converters/gql-arg.ts 66 34 100
packages/xyd-gql/src/schema.ts 85 3 88

3) Top-10 spikes — where does “normal” start? 🧨→✅

I scanned the Top-10 spike days and measured how much came from JSON/YAML (any path) vs tests/fixtures. If the JSON/YAML share drops below 50%, I call it a “normal” spike (less data-dumpy, more code-y).

Rank Date Lines changed JSON/YAML lines (any) JSON/YAML share Test lines Tests share
#1 2025-05-25 3,998,050 3,915,074 97.9% 3,990,595 99.8%
#2 2025-05-26 3,914,637 3,913,711 100.0% 3,914,073 100.0%
#3 2025-06-17 1,208,291 1,203,994 99.6% 1,202,583 99.5%
#4 2025-06-15 1,136,853 1,136,043 99.9% 1,136,045 99.9%
#5 2025-08-01 504,080 419,431 83.2% 353,330 70.1%
#6 2025-07-03 417,164 415,954 99.7% 354,678 85.0%
#7 2025-06-03 387,474 385,791 99.6% 382,974 98.8%
#8 2025-06-11 341,573 338,595 99.1% 333,956 97.8%
#9 2025-06-01 301,086 300,793 99.9% 300,825 99.9%
#10 2025-05-24 155,551 79,612 51.2% 1,261 0.8%

⚠️ All Top 9 still look JSON/YAML-heavy (≥ 50%).

The exact files I muted for the baseline 🧹

Instead of nuking all JSON/YAML everywhere, I muted only the tests/fixtures JSON/YAML files that dominated those spike days. Here’s a preview:

File path (excluded in baseline) Total lines over range
packages/xyd-gql/fixtures/-2.complex.github/output.json 4,301,630
packages/xyd-gql/fixtures/-2.complex.monday/output.json 3,793,543
packages/xyd-openapi/fixtures/4.abc/output.json 2,315,366
packages/xyd-openapi/fixtures/-2.complex.openai/output.json 678,992
packages/xyd-openapi/fixtures/-3.random/output.json 556,089
packages/xyd-openapi/fixtures/4.abc/input.yaml 205,065
packages/xyd-openapi/fixtures/-3.random/input.json 151,742
packages/xyd-openapi/fixtures/-2.complex.openai/w.json 88,362
packages/xyd-openapi/fixtures/-2.complex.openai/input.yaml 39,860
packages/xyd-openapi/fixtures/-3.random/input.yaml 3,579
packages/xyd-gql/fixtures/1.basic/output.json 3,192
packages/xyd-openapi/fixtures/1.basic/output.json 3,065
packages/xyd-gql/fixtures/6.default-values/output.json 2,857
packages/xyd-openapi/fixtures/5.xdocs.codeLanguages/output.json 2,025
packages/xyd-gql/fixtures/8.example/output.json 1,864
packages/xyd-gql/fixtures/5.flat/output.json 1,315
packages/xyd-gql/fixtures/2.circular/output.json 1,256
packages/xyd-gql/fixtures/3.opendocs/output.json 1,216
packages/xyd-gql/fixtures/4.union/output.json 1,190
packages/xyd-openapi/fixtures/5.xdocs.sidebar/output.json 947
packages/xyd-openapi/fixtures/2.more/output.json 581
packages/xyd-gql/fixtures/7.type-args/output.json 445
packages/xyd-openapi/fixtures/3.multiple-responses/output.json 397
packages/xyd-openapi/fixtures/6.codeSamples/output.json 302
packages/xyd-gql/fixtures/-1.od_gqls.flat/output.json 289

4) Baseline (cleaned) — real rhythm 🧼🎵

Now we re-tell the story without those handful of tests/fixtures JSON/YAML files. Commits don’t change, but line volume becomes way more believable.

Weekday vibe

Weekday lines (filtered)

Figure 2. Adds + deletes by weekday after excluding only the spike-causing tests/fixtures JSON/YAML.

Weekday Commits Lines (filtered)
Mon 27 137,104
Tue 26 309,882
Wed 32 288,590
Thu 23 118,749
Fri 32 231,663
Sat 21 363,657
Sun 21 180,215

Cumulative momentum

Cumulative adds vs deletes (filtered)

Figure 3. The long arc of the project with noisy data muted.

5) Cleaned total — still over 1M 🦄

🎉 Even after muting tests/fixtures JSON/YAML, the cleaned total lands at ~1.6M (exact: 1,629,860) (~12% of raw). Not the raw ~13.8M (exact: 13,785,977) churn — but 1M+ cleaned lines is still heavyweight work.

  • Raw total: ~13.8M (exact: 13,785,977) → Cleaned: ~1.6M (exact: 1,629,860)
  • Adds/Deletes (cleaned): +~942.2k (exact: 942,203) / -~687.7k (exact: 687,657)
  • Avg per active day (cleaned): 15,091 lines/day

6) Little extras ⭐

  • 🔥 Longest commit streak: 108 days (Dec 01, 2024 → Aug 19, 2025)
  • Favorite commit hours: 23:00 (75 commits), 22:00 (14 commits), 03:00 (10 commits)
  • 📈 Baseline median/day: 3,821 • p90/day: 46,572 • Avg lines/commit: 8,955.3

This was a very busy time for me, but I'm happy that my contribution is in production. If you need a docs framework, let's check it out.


This content originally appeared on DEV Community and was authored by Patryk Zdunowski


Print Share Comment Cite Upload Translate Updates
APA

Patryk Zdunowski | Sciencx (2025-08-20T12:11:18+00:00) How I got over 13M lines of code within 182 commits in my side project. Retrieved from https://www.scien.cx/2025/08/20/how-i-got-over-13m-lines-of-code-within-182-commits-in-my-side-project/

MLA
" » How I got over 13M lines of code within 182 commits in my side project." Patryk Zdunowski | Sciencx - Wednesday August 20, 2025, https://www.scien.cx/2025/08/20/how-i-got-over-13m-lines-of-code-within-182-commits-in-my-side-project/
HARVARD
Patryk Zdunowski | Sciencx Wednesday August 20, 2025 » How I got over 13M lines of code within 182 commits in my side project., viewed ,<https://www.scien.cx/2025/08/20/how-i-got-over-13m-lines-of-code-within-182-commits-in-my-side-project/>
VANCOUVER
Patryk Zdunowski | Sciencx - » How I got over 13M lines of code within 182 commits in my side project. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/08/20/how-i-got-over-13m-lines-of-code-within-182-commits-in-my-side-project/
CHICAGO
" » How I got over 13M lines of code within 182 commits in my side project." Patryk Zdunowski | Sciencx - Accessed . https://www.scien.cx/2025/08/20/how-i-got-over-13m-lines-of-code-within-182-commits-in-my-side-project/
IEEE
" » How I got over 13M lines of code within 182 commits in my side project." Patryk Zdunowski | Sciencx [Online]. Available: https://www.scien.cx/2025/08/20/how-i-got-over-13m-lines-of-code-within-182-commits-in-my-side-project/. [Accessed: ]
rf:citation
» How I got over 13M lines of code within 182 commits in my side project | Patryk Zdunowski | Sciencx | https://www.scien.cx/2025/08/20/how-i-got-over-13m-lines-of-code-within-182-commits-in-my-side-project/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.