loading 0%
All projects
Live ProductFull-stackNext.js

NLC Learning Platform

A cohort-based learning platform for a 30-lesson counseling program — first working version shipped in a day.

nlccdt.org
NLC Learning Platform screenshot
Role

Designer & Developer

Timeline

2026

Tools

Next.js, Drizzle ORM, Cloudflare D1, Cloudflare Stream, Claude Code

The Problem

New Life Church's counseling program lost its free Canvas LMS and needed a replacement fast. The hard part: ~180GB of course video — roughly 6GB per lesson across 30 lessons — was stuck in Dropbox, and re-uploading it by hand would have taken days of manual uploading.

The Approach

  • Scripted the migration end to end — pulled the course video out of a shared Dropbox folder, pushed it to Cloudflare Stream over its API, and wrote the resulting video IDs straight back into the database, instead of re-uploading 30 lessons by hand.
  • Modeled the program the way it's actually taught: courses hold modules, modules hold lessons, and each lesson is assembled from blocks — video, text, resources, discussion, or reflection — so a lesson is a designed experience, not a video with notes stapled underneath.
  • Built four real roles — admin, co-teacher, TA, and student — so the people running a cohort have permissions that match their job instead of sharing one login.
  • Used passwordless magic-link sign-in with an access-request queue an admin approves, because the students are working adults in a counseling program, not a technical audience.
  • Tracked per-lesson progress, discussion posts, and written reflections, so a cohort leader can see who is actually moving through the material and who has gone quiet.
  • Kept building after launch — the roles, lesson blocks, and tracking above grew in over the following weeks, on top of a platform that was already carrying a live cohort.

The Outcome

1 day

Shutdown to a working platform, live

~180GB

Course video migrated via its API

4 roles

Admin, co-teacher, TA, and student

Live

In use at nlccdt.org by a real cohort

Let's work together.

Building something I should see, or hiring for a problem worth solving? I'd be glad to talk.