DEV Community

Cover image for CodeHub Classroom
Dan Gilleland
Dan Gilleland

Posted on

CodeHub Classroom

GitHub Classroom launched in July 2013. In August 2026, it was sunset — and a lot of instructors were left scrambling for an alternative. The official recommendations point to "yet-another-online-service" - and your school might not like you sending student information (names, emails, etc.) through unknown online solutions.

That was one of my pain points (among others). So I built CodeHub Classroom. 🎉

I teach computer programming at the post-secondary level. My colleagues and I needed to adjust fast. You might be scrambling for alternatives. So I'm throwing my hat in the ring with CodeHub Classroom.

What it is

CodeHub Classroom is a free desktop app that follows a two step Provision and Release approach to setting up student assignments as GitHub repositories. I'm baking in a lot of the features I hoped GitHub Classroom would eventually build, but never did.

The core workflow is simple and deliberately opinionated, based on over a decade of actually using GitHub Classroom day-to-day:

  1. Provision — generate each student's private repository from your assignment template. Nobody has access yet.
  2. Release — invite each student as a collaborator on their own repository, exactly when you're ready.

Two Steps

Why it's different

It's built around your whole school term, not one classroom at a time. GitHub Classroom made you manage a separate "classroom" per course section. If you taught three sections of the same course, that meant duplicate setup (and possible copy/paste errors) for shared assignments. CodeHub Classroom shows every course and section you're teaching this term in one dashboard.

It runs on your computer — there's no backend. No GitHub App, no shared service account, nothing for GitHub to rate-limit. It just drives the git and GitHub CLI (gh) tools you probably already have installed. If you've got the GitHub CLI, you already had everything CodeHub needs.

On privacy

This one matters to me, so I'll say it plainly: I built CodeHub Classroom so that ALL your classroom data lives locally on your machine. No exposure of your student information. All your data is accessible only by you. So if you later decide it's not the best fit for you, just go to Settings > Data Storage to grab your data before you uninstall - it's all just JSON.

Pricing

Free. Why? Mostly because instructors don't have money to throw at things when they only want the basic features.

A one-time-purchase Pro/Plus edition is planned down the road (in the spirit of tools like Beyond Compare), but there's no subscription - the core app, with the features most instructors actually need, stays free.

Where it's at right now

The public beta (v0.1.10-beta) shipped August 31, 2026, as a Windows build. It's early — I'd genuinely love feedback, bug reports, and "here's what my workflow actually needs" from anyone who tries it.

If you're an instructor who used GitHub as your central place for distributing and collecting student repos, I built this for you. Give it a shot and tell me what's missing.

Top comments (3)

Collapse
 
crdtcto profile image
Kane Lim

Hello Glad to see you, I am Kane Lim from Hong Kong. I have over 10 years of development experience. I am writing this because your post was interesting.

The local first architecture is the part I find most compelling. Removing the backend, service account, and centralized student database dramatically reduces the attack surface while fitting institutional privacy requirements much better.

I would push the Provision and Release model further by making every operation idempotent and transaction aware. Maintain a local state machine for repository lifecycle, reconcile it against GitHub periodically, and make partial failures recoverable instead of requiring instructors to restart workflows manually.

A dry run mode would also be extremely valuable. Before provisioning hundreds of repositories, instructors could inspect the exact GitHub mutations, permissions, branch configuration, and collaborator mappings. Adding structured audit logs and deterministic rollback metadata would make the workflow much safer at institutional scale.

The JSON based local storage is also a nice choice for portability. This feels less like a replacement wrapper and more like a thoughtful redesign of classroom repository orchestration. I would be happy to exchange ideas around reconciliation and failure recovery.

Collapse
 
dagilleland profile image
Dan Gilleland

Glad to have a reply so soon after posting. Wishing it didn't sound so "AI-Generated" (and I hope I didn't offend you if it wasn't). Nice thought, tho.

Collapse
 
crdtcto profile image
Kane Lim

No It never AI generated
I would like to get to know you better
Would you please contact me?
t_g_@kanelim1997al thing to talk to you.