GITHUB ACTIVITY 13,333 contributions in the last year
13,333 Contributions last 12 months
89d Current streak active today
312 Busiest day 17 Jan 2026
2,794 PRs merged 2,875 opened, last 12 months
Oct
0 contributions on 2025-10-12
0 contributions on 2025-10-13
0 contributions on 2025-10-14
0 contributions on 2025-10-15
0 contributions on 2025-10-16
0 contributions on 2025-10-17
0 contributions on 2025-10-18
0 contributions on 2025-10-19
0 contributions on 2025-10-20
0 contributions on 2025-10-21
0 contributions on 2025-10-22
0 contributions on 2025-10-23
0 contributions on 2025-10-24
0 contributions on 2025-10-25
0 contributions on 2025-10-26
0 contributions on 2025-10-27
0 contributions on 2025-10-28
1 contribution on 2025-10-29
0 contributions on 2025-10-30
0 contributions on 2025-10-31
0 contributions on 2025-11-01
Nov
0 contributions on 2025-11-02
0 contributions on 2025-11-03
0 contributions on 2025-11-04
0 contributions on 2025-11-05
0 contributions on 2025-11-06
0 contributions on 2025-11-07
0 contributions on 2025-11-08
0 contributions on 2025-11-09
0 contributions on 2025-11-10
0 contributions on 2025-11-11
0 contributions on 2025-11-12
0 contributions on 2025-11-13
0 contributions on 2025-11-14
0 contributions on 2025-11-15
0 contributions on 2025-11-16
0 contributions on 2025-11-17
0 contributions on 2025-11-18
0 contributions on 2025-11-19
0 contributions on 2025-11-20
0 contributions on 2025-11-21
0 contributions on 2025-11-22
0 contributions on 2025-11-23
1 contribution on 2025-11-24
0 contributions on 2025-11-25
0 contributions on 2025-11-26
0 contributions on 2025-11-27
0 contributions on 2025-11-28
0 contributions on 2025-11-29
0 contributions on 2025-11-30
0 contributions on 2025-12-01
0 contributions on 2025-12-02
0 contributions on 2025-12-03
0 contributions on 2025-12-04
0 contributions on 2025-12-05
0 contributions on 2025-12-06
Dec
0 contributions on 2025-12-07
1 contribution on 2025-12-08
0 contributions on 2025-12-09
1 contribution on 2025-12-10
0 contributions on 2025-12-11
0 contributions on 2025-12-12
0 contributions on 2025-12-13
1 contribution on 2025-12-14
1 contribution on 2025-12-15
0 contributions on 2025-12-16
3 contributions on 2025-12-17
2 contributions on 2025-12-18
0 contributions on 2025-12-19
0 contributions on 2025-12-20
0 contributions on 2025-12-21
0 contributions on 2025-12-22
2 contributions on 2025-12-23
2 contributions on 2025-12-24
1 contribution on 2025-12-25
1 contribution on 2025-12-26
0 contributions on 2025-12-27
0 contributions on 2025-12-28
2 contributions on 2025-12-29
1 contribution on 2025-12-30
3 contributions on 2025-12-31
1 contribution on 2026-01-01
2 contributions on 2026-01-02
0 contributions on 2026-01-03
Jan
2 contributions on 2026-01-04
6 contributions on 2026-01-05
8 contributions on 2026-01-06
27 contributions on 2026-01-07
11 contributions on 2026-01-08
0 contributions on 2026-01-09
9 contributions on 2026-01-10
24 contributions on 2026-01-11
0 contributions on 2026-01-12
22 contributions on 2026-01-13
99 contributions on 2026-01-14
100 contributions on 2026-01-15
104 contributions on 2026-01-16
312 contributions on 2026-01-17
107 contributions on 2026-01-18
82 contributions on 2026-01-19
86 contributions on 2026-01-20
56 contributions on 2026-01-21
114 contributions on 2026-01-22
34 contributions on 2026-01-23
24 contributions on 2026-01-24
7 contributions on 2026-01-25
89 contributions on 2026-01-26
26 contributions on 2026-01-27
37 contributions on 2026-01-28
1 contribution on 2026-01-29
0 contributions on 2026-01-30
32 contributions on 2026-01-31
Feb
27 contributions on 2026-02-01
14 contributions on 2026-02-02
4 contributions on 2026-02-03
4 contributions on 2026-02-04
37 contributions on 2026-02-05
4 contributions on 2026-02-06
50 contributions on 2026-02-07
45 contributions on 2026-02-08
29 contributions on 2026-02-09
18 contributions on 2026-02-10
59 contributions on 2026-02-11
23 contributions on 2026-02-12
66 contributions on 2026-02-13
64 contributions on 2026-02-14
4 contributions on 2026-02-15
80 contributions on 2026-02-16
50 contributions on 2026-02-17
15 contributions on 2026-02-18
34 contributions on 2026-02-19
68 contributions on 2026-02-20
6 contributions on 2026-02-21
41 contributions on 2026-02-22
14 contributions on 2026-02-23
18 contributions on 2026-02-24
6 contributions on 2026-02-25
20 contributions on 2026-02-26
12 contributions on 2026-02-27
36 contributions on 2026-02-28
Mar
71 contributions on 2026-03-01
13 contributions on 2026-03-02
43 contributions on 2026-03-03
79 contributions on 2026-03-04
74 contributions on 2026-03-05
72 contributions on 2026-03-06
27 contributions on 2026-03-07
49 contributions on 2026-03-08
48 contributions on 2026-03-09
0 contributions on 2026-03-10
8 contributions on 2026-03-11
7 contributions on 2026-03-12
62 contributions on 2026-03-13
8 contributions on 2026-03-14
1 contribution on 2026-03-15
0 contributions on 2026-03-16
10 contributions on 2026-03-17
0 contributions on 2026-03-18
0 contributions on 2026-03-19
30 contributions on 2026-03-20
34 contributions on 2026-03-21
3 contributions on 2026-03-22
3 contributions on 2026-03-23
8 contributions on 2026-03-24
11 contributions on 2026-03-25
17 contributions on 2026-03-26
0 contributions on 2026-03-27
0 contributions on 2026-03-28
0 contributions on 2026-03-29
15 contributions on 2026-03-30
48 contributions on 2026-03-31
9 contributions on 2026-04-01
0 contributions on 2026-04-02
0 contributions on 2026-04-03
5 contributions on 2026-04-04
Apr
1 contribution on 2026-04-05
0 contributions on 2026-04-06
17 contributions on 2026-04-07
4 contributions on 2026-04-08
22 contributions on 2026-04-09
5 contributions on 2026-04-10
64 contributions on 2026-04-11
29 contributions on 2026-04-12
7 contributions on 2026-04-13
6 contributions on 2026-04-14
22 contributions on 2026-04-15
5 contributions on 2026-04-16
7 contributions on 2026-04-17
0 contributions on 2026-04-18
21 contributions on 2026-04-19
20 contributions on 2026-04-20
14 contributions on 2026-04-21
3 contributions on 2026-04-22
7 contributions on 2026-04-23
25 contributions on 2026-04-24
6 contributions on 2026-04-25
41 contributions on 2026-04-26
28 contributions on 2026-04-27
5 contributions on 2026-04-28
29 contributions on 2026-04-29
3 contributions on 2026-04-30
18 contributions on 2026-05-01
14 contributions on 2026-05-02
May
55 contributions on 2026-05-03
136 contributions on 2026-05-04
11 contributions on 2026-05-05
3 contributions on 2026-05-06
0 contributions on 2026-05-07
20 contributions on 2026-05-08
56 contributions on 2026-05-09
307 contributions on 2026-05-10
37 contributions on 2026-05-11
78 contributions on 2026-05-12
54 contributions on 2026-05-13
13 contributions on 2026-05-14
28 contributions on 2026-05-15
4 contributions on 2026-05-16
14 contributions on 2026-05-17
12 contributions on 2026-05-18
3 contributions on 2026-05-19
2 contributions on 2026-05-20
2 contributions on 2026-05-21
11 contributions on 2026-05-22
0 contributions on 2026-05-23
33 contributions on 2026-05-24
69 contributions on 2026-05-25
105 contributions on 2026-05-26
50 contributions on 2026-05-27
8 contributions on 2026-05-28
50 contributions on 2026-05-29
60 contributions on 2026-05-30
41 contributions on 2026-05-31
48 contributions on 2026-06-01
32 contributions on 2026-06-02
10 contributions on 2026-06-03
298 contributions on 2026-06-04
62 contributions on 2026-06-05
74 contributions on 2026-06-06
Jun
89 contributions on 2026-06-07
32 contributions on 2026-06-08
57 contributions on 2026-06-09
134 contributions on 2026-06-10
29 contributions on 2026-06-11
22 contributions on 2026-06-12
6 contributions on 2026-06-13
94 contributions on 2026-06-14
32 contributions on 2026-06-15
22 contributions on 2026-06-16
67 contributions on 2026-06-17
8 contributions on 2026-06-18
0 contributions on 2026-06-19
4 contributions on 2026-06-20
13 contributions on 2026-06-21
47 contributions on 2026-06-22
24 contributions on 2026-06-23
6 contributions on 2026-06-24
15 contributions on 2026-06-25
7 contributions on 2026-06-26
3 contributions on 2026-06-27
6 contributions on 2026-06-28
11 contributions on 2026-06-29
4 contributions on 2026-06-30
0 contributions on 2026-07-01
0 contributions on 2026-07-02
0 contributions on 2026-07-03
0 contributions on 2026-07-04
Jul
1 contribution on 2026-07-05
11 contributions on 2026-07-06
35 contributions on 2026-07-07
11 contributions on 2026-07-08
1 contribution on 2026-07-09
8 contributions on 2026-07-10
1 contribution on 2026-07-11
2 contributions on 2026-07-12
1 contribution on 2026-07-13
0 contributions on 2026-07-14
0 contributions on 2026-07-15
1 contribution on 2026-07-16
1 contribution on 2026-07-17
16 contributions on 2026-07-18
13 contributions on 2026-07-19
21 contributions on 2026-07-20
37 contributions on 2026-07-21
51 contributions on 2026-07-22
14 contributions on 2026-07-23
125 contributions on 2026-07-24
236 contributions on 2026-07-25
151 contributions on 2026-07-26
53 contributions on 2026-07-27
3 contributions on 2026-07-28
2 contributions on 2026-07-29
100 contributions on 2026-07-30
16 contributions on 2026-07-31
215 contributions on 2026-08-01
Aug
103 contributions on 2026-08-02
98 contributions on 2026-08-03
125 contributions on 2026-08-04
62 contributions on 2026-08-05
12 contributions on 2026-08-06
26 contributions on 2026-08-07
90 contributions on 2026-08-08
209 contributions on 2026-08-09
89 contributions on 2026-08-10
145 contributions on 2026-08-11
216 contributions on 2026-08-12
38 contributions on 2026-08-13
9 contributions on 2026-08-14
12 contributions on 2026-08-15
44 contributions on 2026-08-16
60 contributions on 2026-08-17
64 contributions on 2026-08-18
100 contributions on 2026-08-19
91 contributions on 2026-08-20
100 contributions on 2026-08-21
18 contributions on 2026-08-22
178 contributions on 2026-08-23
94 contributions on 2026-08-24
53 contributions on 2026-08-25
80 contributions on 2026-08-26
92 contributions on 2026-08-27
80 contributions on 2026-08-28
104 contributions on 2026-08-29
54 contributions on 2026-08-30
114 contributions on 2026-08-31
28 contributions on 2026-09-01
61 contributions on 2026-09-02
85 contributions on 2026-09-03
75 contributions on 2026-09-04
63 contributions on 2026-09-05
Sep
44 contributions on 2026-09-06
20 contributions on 2026-09-07
46 contributions on 2026-09-08
33 contributions on 2026-09-09
73 contributions on 2026-09-10
62 contributions on 2026-09-11
53 contributions on 2026-09-12
13 contributions on 2026-09-13
32 contributions on 2026-09-14
15 contributions on 2026-09-15
65 contributions on 2026-09-16
76 contributions on 2026-09-17
18 contributions on 2026-09-18
19 contributions on 2026-09-19
93 contributions on 2026-09-20
65 contributions on 2026-09-21
50 contributions on 2026-09-22
125 contributions on 2026-09-23
264 contributions on 2026-09-24
8 contributions on 2026-09-25
130 contributions on 2026-09-26
307 contributions on 2026-09-27
73 contributions on 2026-09-28
19 contributions on 2026-09-29
3 contributions on 2026-09-30
53 contributions on 2026-10-01
42 contributions on 2026-10-02
161 contributions on 2026-10-03
Oct
243 contributions on 2026-10-04
130 contributions on 2026-10-05
42 contributions on 2026-10-06
249 contributions on 2026-10-07
50 contributions on 2026-10-08
263 contributions on 2026-10-09
88 contributions on 2026-10-10
163 contributions on 2026-10-11
156 contributions on 2026-10-12
Less
More
HOW I BUILD
AI-native
I build with AI in the loop; coding agents in the terminal, with kBrain giving them the same prompts and context every session, and MCP servers I've written so they can work directly with my own systems.
Every morning at 05:30 a scheduled agent picks one of my repos and works through the mechanical findings SonarQube has raised on it, limited to an allowlist of rules that are safe to fix this way; a fix only merges once that repo's own build, tests and CI have passed.
SCAN self-hosted SonarQube
→
FIX mechanical smells, capped & allowlisted
→
VERIFY against each repo's own tests
→
MERGE only on a green build and CI
Every fix goes through a pull request; bugs and vulnerabilities are triaged for me to review and are never fixed automatically.
Around that I run several scanners side by side, since each one picks up things the others don't:
Static + SAST SonarQube / SonarCloud: code quality, bug patterns, infrastructure-as-code
Dependencies + secrets Snyk: known CVEs, container & IaC, leaked credentials
Local pre-push OSV-Scanner + Grype/Syft: offline, before anything leaves the machine
AI review Claude Code /code-review ultra: logic bugs the scanners miss