Keeping Learners Coming Back
I used to think completion was about content. Then I pulled retention for a cohort. Most learners who stopped did not fail. They just went quiet after a due date passed. No nudge, no follow up. I h...
I used to think completion was about content. Then I pulled retention for a cohort. Most learners who stopped did not fail. They just went quiet after a due date passed. No nudge, no follow up. I h...
My scraper pulled 113,998 real estate listing images into MinIO. Every one carries the host site’s watermark. I wanted them all clean at full resolution, and I wanted the true machine cost of that ...
I thought assessment was about questions. Then I graded a quiz for 180 and realized it is about trust. If a learner does not trust the start is fair or that a disconnect will not steal work, they w...
I used to count bandwidth in servers. Then I sat with a learner who bought 500MB for the week. My course page made seven requests before it showed the video. He left before it loaded. I realized I ...
I thought groups were simple. A teacher creates a set, adds a few names, done. Then I watched a coordinator try to auto-create groups for a cohort of 280 students. She clicked create, waited, waite...
I thought letting learners in was solved. Create a user, enroll them, email a password. It worked locally, then a coordinator re-added fifty removed students. Half came back as duplicates, half as ...
I walked into this work assuming a learning platform was mostly content. Record a lecture, upload a file, add a quiz, done. Two weeks in, I watched a student try to submit a quiz on a phone with on...
Every Ethereum client exposes admin_peers, and every client that wants to be a drop in replacement for the reference client has to answer it the way the reference client does. The gap was one boole...
A Unity SDK for Starknet builds and signs transactions on device, in C#, under IL2CPP. When wallets started reporting INVALID_SIG on the network and failures to pay fees in STRK, the signature path...
Ethereum has two trace families. The debug family, debug_traceTransaction and debug_traceBlock, comes from the reference client. The trace family, trace_transaction and trace_block, comes from a di...