Code changes

Phila Code Changes Dashboard

PhilaGroup/phila, tracked from 19 Jun 2026 (dev environment created). Built from real GitHub commits and deployments, not self-reported.

Updated 29/08/2026, 12:01:43
Timezone Africa/Johannesburg

Estimated hours

661.9h

Active time, capped per day

This month

201.8h

Hours so far this month

Active days

65

Avg 10.2h per active day

Current streak

3d

Consecutive active days

Commits

2.7k

+2.3m / -309k lines

Deployments

2.9k

2054 succeeded, 827 failed

DB changes

258

Schema / migration commits

Longest session

16h

Longest unbroken stretch

Work by stream

How the effort splits across the four streams: the web application, commercialisation, the Android app, and the iOS app. Hours are apportioned by each stream’s share of the day’s commits and deployments.

Contributors

Hours, commits, and deployments per contributor. Each person appears once, with all their GitHub accounts merged.

Pascal Radzilani
Pascal Radzilani
@pradzilani9, @PhilaLife
523h 59m
hours
1.7k
commits
2.2k
deploys
1.7m
+lines
Matodzi
Matodzi
@Matodzi
213h 1m
hours
992
commits
659
deploys
595k
+lines

Hours by month

Total hours each completed and current month, per contributor. New months appear here as they begin, so you can look back over any period.

MonthPascal RadzilaniMatodziTotal hours
August 2026123h 12m105h 28m228h 40m
July 2026281h 44m94h 34m376h 18m
June 2026119h 4m12h 59m132h 3m

Work calendar

Each box is a day. The number is hours worked; the colour shows how heavy the day was, green for a lighter day through to red for a grueling one. The thin bar under each day shows the stream mix. Click any day to see that day’s commits and deployments.

Pascal Radzilani523h 59m · 60 days · 1718 commits
Web390hCommercial52.5hAndroid75.9hiOS5.6h

June 2026119.1h

Mon
Tue
Wed
Thu
Fri
Sat
Sun
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

July 2026281.7h

Mon
Tue
Wed
Thu
Fri
Sat
Sun
21
28

August 2026123.2h

Mon
Tue
Wed
Thu
Fri
Sat
Sun
9
15
16
17
20
22
23
25
28
29
30
31
Matodzi213h 1m · 41 days · 992 commits
Web196.2hCommercial4.1hAndroid12.7h

June 202613.0h

Mon
Tue
Wed
Thu
Fri
Sat
Sun
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

July 202694.6h

Mon
Tue
Wed
Thu
Fri
Sat
Sun
3
4
5
9
10
18
19
20
25
28
30

August 2026105.5h

Mon
Tue
Wed
Thu
Fri
Sat
Sun
1
7
8
9
10
19
20
21
22
23
24
25
29
30
31
under 4h
4 to 7h
7 to 10h
10 to 13h
13h+

By day of week

Total hours per weekday. Active about 6.4 days a week.

Mon106h10d active
Tue83h8d active
Wed96h10d active
Thu89h9d active
Fri114h11d active
Sat91h9d active
Sun83h8d active

Active periods

When in the day the work happens (by the hour, Africa/Johannesburg).

12am6am12pm6pm11pm

Most active: Evening (5pm-9pm)

Daily hours, last 30 days

Estimated active hours per day, capped at 16h.

30 Jul
3 Aug
7 Aug
11 Aug
15 Aug
19 Aug
23 Aug
27 Aug

Recent activity

The latest commits and deployments. Click any row to open it on GitHub.

deployDeployed to dev@Matodzi20h agocommitMerge pull request #1163 from PhilaGroup/feat/web-guest-home-icons@Matodzi20h agodeployDeployed to Preview@Matodzi20h agocommitfeat(web): draw the guest home cards with mobile's actual Ionicons glyphs@Matodzi20h agodeployDeployed to Preview@Matodzi21h agodeployDeployed to Preview@Matodzi21h agodeployDeployed to dev@Matodzi21h agocommitfeat(web): match mobile's guest home card icons@Matodzi21h agocommitfeat(web): match mobile's guest home card icons@Matodzi21h agodeployDeployed to dev@Matodzi21h agocommitMerge pull request #1161 from PhilaGroup/feat/web-nav-follows-mobile@Matodzi21h agocommitMerge pull request #1162 from PhilaGroup/fix/scanner-session-hardening@Matodzi21h agodeployDeployed to Preview@Matodzi21h agodeployDeployed to Preview@Matodzi21h agocommitfix(mobile): name the three new scan-dispense refusals on the failure screen@Matodzi21h agodeployDeployed to dev@Matodzi22h agocommitdocs(scanner): stop describing the session TTL as a security boundary@Matodzi22h agocommitfix(scanner): gate licence-key dispensing on consent, profile and a rate limit@Matodzi22h agocommitfeat(web): give the bottom tab bar mobile's colours@Matodzi22h agocommitfeat(web): give the bottom tab bar mobile's colours@Matodzi22h agocommitMerge pull request #1160 from PhilaGroup/feat/web-palette-follows-mobile@Matodzi22h agocommittest: pin web's palette to mobile's@Matodzi1d agocommitrefactor(web): read the ink from the palette, not a pinned hex@Matodzi1d agocommitfeat(web): take the mobile palette for light and dark@Matodzi1d agodeployDeployed to Production@pradzilani92d agocommitMerge pull request #1159 from PhilaGroup/dev@pradzilani92d agodeployDeployed to dev@pradzilani92d agocommitMerge remote-tracking branch 'origin/main' into dev@pradzilani92d agocommitfix(web): send the media Permissions-Policy on the pages a call is entered from@pradzilani92d agodeployDeployed to Production@pradzilani92d agocommitMerge pull request #1158 from PhilaGroup/dev@pradzilani92d agodeployDeployed to dev@pradzilani92d agocommitMerge remote-tracking branch 'origin/main' into dev@pradzilani92d agocommitfix(auth): sign the browser out before starting mobile Google, and bind the mint@pradzilani92d agodeployDeployed to dev@pradzilani92d agocommittest(consultation): name the provider these fixtures actually run against@pradzilani92d agodeployDeployed to Production@pradzilani92d agocommitMerge pull request #1157 from PhilaGroup/dev@pradzilani92d agodeployDeployed to dev@pradzilani92d agodeployDeployed to dev@pradzilani92d agocommitdocs(handover): stop promising a video-provider rollback that does not exist@pradzilani92d agocommitMerge remote-tracking branch 'origin/main' into dev@pradzilani92d agocommitchore(call): remove Jitsi, whose backend no longer exists@pradzilani92d agocommitfix(telehealth): stop the dashboard shell landing on top of the doctor's call@pradzilani92d agodeployDeployed to Production@pradzilani92d agocommitMerge pull request #1156 from PhilaGroup/dev@pradzilani92d agodeployDeployed to dev@pradzilani92d agodeployDeployed to dev@pradzilani92d agocommitMerge remote-tracking branch 'origin/main' into dev@pradzilani92d agocommitfix(consultation): give the patient's video room a box it can actually fill@pradzilani92d agodeployDeployed to dev@pradzilani92d agocommitfix(doctor-home): stop the on-call card claiming a silence dispatch does not honour@pradzilani92d agocommitfeat(coverage): the tiles open the list of clinicians behind their number@pradzilani92d agodeployDeployed to dev@pradzilani92d agodeployDeployed to Production@pradzilani92d agodeployDeployed to dev@pradzilani92d agodeployDeployed to dev@pradzilani92d agocommitMerge pull request #1155 from PhilaGroup/dev@pradzilani92d agocommitchore(resources): commit the generated descriptors for the pages already shipped@pradzilani92d agocommitMerge remote-tracking branch 'origin/main' into dev@pradzilani92d ago
How hours are estimated

Every commit and deployment carries a timestamp. Events within 90 minutes of each other are counted as continuous work; a larger gap is treated as a break, and each work session is credited 60 minutes for the ramp-up before its first commit. Any single day is capped at 16 hours so a long sprint never reads as implausible. This is the recognised git-hours method.

Treat this as a conservative floor. Research, design, debugging, planning, and meetings rarely produce commits, so real effort is higher than shown. Every number here traces back to commits and deployments that can be independently verified on GitHub.