GitHub Activity Report

June – July 2026 · @plateaukao
Dev activity only — ADR (280 auto-generated commits) and blog (12 content commits) excluded from all counts.
483
Commits
+199,808
Lines added
−34,269
Lines removed
17
Repositories
+127,771
Actual code lines (64% of additions)
390 / 483
Commits on EinkBro + NerLan (81%)
45 / 61
Active days · 10.7/day
54
Busiest day (Jul 7)

By month

June210 commits
+99,802
added
−26,309
removed
23
active days
13
repos
Top project · NerLan iOS (61 commits)
July273 commits
+100,006
added
−7,960
removed
22
active days
9
repos
Top project · EinkBro iOS (85 commits)

What the line changes actually are

+127,771 64%
Code
+2,911 1%
Docs & content
+69,126 35%
Assets & data
With ADR and blog removed, 64% of the +199,808 additions is hand-written code. The 35% assets & data slice is dominated by two imports: a generated 嘸蝦米 (Boshiamy) input-method data table for KOReader (+46.6k lines of Lua data) and the Calli+ SVG charbook library ported to Flutter (+22.3k). Real engineering output is +127,771 code lines — nearly double the +67,238 of April–May.

Commits by week

14
Jun 1 – Jun 7
92
Jun 8 – Jun 14
86
Jun 15 – Jun 21
18
Jun 22 – Jun 28
6
Jun 29 – Jul 5
125
Jul 6 – Jul 12
106
Jul 13 – Jul 19
27
Jul 20 – Jul 26
9
Jul 27 – Jul 31

Daily commit cadence

Jun 1Jun 15Jul 1Jul 15Jul 31

By project (17 repos)

Dev projects

ADR & blog excluded · line changes split into code / assets / docs
EinkBro — Android + iOS
Flagship e-ink browser: Android refactor roadmap & feature wave, plus a brand-new iOS port built in three days with Compose Multiplatform
203 commits · 42% of all dev work
+74,834 code +20 assets +1,415 docs Android 118 · iOS 85
NerLan — iOS + Android
New: language-learning audio player for NER Channel+ (國立教育廣播電台) — 96 programs in 19 languages, offline playback, widgets, Whisper transcripts & AI handouts
187 commits · 39% of all dev work
+27,581 code +112 assets +620 docs iOS 102 · Android 85
RepositoryTotalJunJulCode+Asset+Doc+
whisperASR
macOS SwiftUI transcription app — live ASR, model catalog, meeting minutes
471730+4,938·+271
immersive-script
Bilingual immersive web-page translation userscript
14131+2,507·+161
MacDown (upstream)
Mermaid v11 rendering + dark themes, contributed to the maintained fork
88·+10,715··
sweetlime
LIME input method fork — e-ink keystroke performance
5·5+408··
koreader-patches
KOReader patches — Boshiamy 嘸蝦米 keyboard (private repo)
44·+639+46,645+229
arabic_lessons
Self-contained HTML lessons for basic Arabic conversation
3·3+1,164·+27
Calli+ Flutter
Chinese calligraphy app — SVG charbook port, App Store revival (private repo)
3·3+252+22,349+51
Sony DPT Mac app
Native macOS app for Sony Digital Paper / Fujitsu Quaderno
22·+4,134·+67
APNGKit (upstream)
iOS APNG library contributions
22·+202··
Netflix Subtitle DL
Chrome extension: Netflix subtitles as ZIP or EPUB
22·+177·+70
ask_web
Browser extension: AI chat over any web page
11·+7··
Greasy Fork (upstream)
Contribution to the userscript hosting site
11·+16··
supernote_draw
Supernote stylus drawing experiment
11·+197··
Total (17 repos)483210273+127,771+69,126+2,911
code assets docs

Analysis

This report counts development work only. Two auto-noise / content repos are excluded from every number: ADR (280 commits — Architecture Decision Records generated automatically after each commit) and blog (12 content commits). What remains is genuine engineering: 483 commits across 17 repositories, averaging 10.7 commits on each of 45 active days — a 52% jump over April–May's 318 commits.

Two flagship families own the period. EinkBro (203 commits, 42%) and NerLan (187 commits, 39%) together account for 81% of all dev activity. NerLan didn't exist on June 9: by mid-July it was a complete iOS + Android app pair for Taiwan's National Education Radio language programs — background playback, offline downloads, home-screen widgets, Whisper-powered transcripts, and AI study handouts — iterated through seven releases on both platforms. EinkBro's Android side ran a disciplined refactor roadmap (ConfigManager / EBWebView / delegate slices) alongside a feature wave: a Web Speech API polyfill backed by the app's TTS engines, Room-cached paragraph translations, and Gemini-powered transcription of caption-less YouTube videos.
EinkBro went iOS in three days. The single biggest line-count event of the period: EinkBro iOS was built from zero on July 16–18 using Compose Multiplatform — 73 commits in the week of Jul 13, +54,576 code lines, reusing the Android app's Compose UI as common Kotlin with a real WKWebView shell. The full story is in the three-day port write-up.

June vs. July. June (210 commits) was the NerLan sprint — both apps built from scratch in under two weeks — plus heavy EinkBro deletions (−26,309 overall, refactoring and trimming the Boshiamy data table). July (273 commits) beat even April's 240 and split into two pushes: a polish sprint across EinkBro / NerLan / whisperASR peaking at 54 commits on July 7, then the EinkBro iOS port. Between them sat a genuine holiday: June 28 – July 6 saw just 9 commits in 9 days, including a six-day stretch of complete silence — the longest break in four months.

The quiet overachiever is whisperASR (47 commits): from v0.4 to v0.8 it gained low-latency live transcription, a downloadable model catalog, NVIDIA Nemotron 3.5 streaming ASR via Core ML, live translation, meeting-minutes generation, and SRT/VTT subtitle export. And the upstream contributions continued: mermaid v11 rendering and dark-theme diagram support for the maintained MacDown fork (merged as PRs), plus patches to APNGKit and Greasy Fork.

New projects launched this period:

NerLan — iOS + Android app pair EinkBro iOS — 3-day Compose Multiplatform port immersive-script — translation userscript Sony DPT Mac app KOReader 嘸蝦米 keyboard patch arabic_lessons supernote_draw

Working style. The sprint pattern from April–May got sharper: two mega-sprints — Jun 8–21 (178 commits, the NerLan build-out) and Jul 6–19 (231 commits, polish + iOS port) — bracket a two-week valley. The long-running themes are all still here — e-ink devices, reading workflows, input methods — but two new threads emerged: language learning (NerLan, arabic_lessons, immersive-script, whisperASR's translation features) and a decisive push onto iOS/macOS: three of the period's biggest projects (NerLan iOS, EinkBro iOS, whisperASR) plus the Calli+ Flutter App Store revival all target Apple platforms.

Weekly breakdown

Jun 1 – Jun 7 14 commits · +12,166 / −502

RepoCommits+Lines−Lines
whisperASR5+415−131
MacDown (upstream)4+7,106−216
Sony DPT Mac app2+4,201−0
Netflix Subtitle DL2+247−36
supernote_draw1+197−119

Jun 8 – Jun 14 92 commits · +67,206 / −23,912

RepoCommits+Lines−Lines
EinkBro browser30+9,200−8,912
NerLan Android28+5,635−598
NerLan iOS17+2,877−176
immersive-script8+1,797−54
whisperASR4+641−68
koreader-patches3+46,945−13,733
MacDown (upstream)2+111−371

Jun 15 – Jun 21 86 commits · +19,119 / −1,595

RepoCommits+Lines−Lines
NerLan iOS41+8,363−571
NerLan Android22+4,058−409
EinkBro browser9+483−86
whisperASR8+1,902−27
immersive-script3+247−32
MacDown (upstream)2+3,498−458
koreader-patches1+568−12

Jun 22 – Jun 28 18 commits · +1,311 / −300

RepoCommits+Lines−Lines
EinkBro browser5+112−44
NerLan Android4+214−50
NerLan iOS3+156−23
immersive-script2+604−129
APNGKit (upstream)2+202−53
ask_web1+7−0
Greasy Fork (upstream)1+16−1

Jun 29 – Jul 5 6 commits · +722 / −178

RepoCommits+Lines−Lines
EinkBro browser6+722−178

Jul 6 – Jul 12 125 commits · +7,568 / −3,306

RepoCommits+Lines−Lines
EinkBro browser42+5,303−2,480
NerLan iOS36+1,031−395
NerLan Android26+565−168
whisperASR18+280−126
sweetlime3+389−137

Jul 13 – Jul 19 106 commits · +81,641 / −3,646

RepoCommits+Lines−Lines
EinkBro iOS73+54,983−2,181
EinkBro browser18+2,040−665
whisperASR10+1,665−129
Calli+ Flutter3+22,652−645
NerLan iOS1+281−18
immersive-script1+20−8

Jul 20 – Jul 26 27 commits · +7,322 / −675

RepoCommits+Lines−Lines
EinkBro iOS12+633−187
EinkBro browser5+1,049−321
NerLan Android4+1,884−38
NerLan iOS3+2,565−110
arabic_lessons3+1,191−19

Jul 27 – Jul 31 9 commits · +2,753 / −155

RepoCommits+Lines−Lines
EinkBro browser3+1,744−36
whisperASR2+306−64
sweetlime2+19−10
NerLan iOS1+323−35
NerLan Android1+361−10