NMTSA – Learn: Hackathon Submission

Inspiration

  • Families and clinicians were juggling important resources across emails and Google Drive.
  • Healthcare professionals needed CE credits and practical training, but content was scattered and hard to track.
  • We wanted an autism‑friendly experience that reduces friction and lowers cognitive load.
  • NMTSA needed a system that creates new revenue streams while supporting the community.

What it does

  • Hosts structured courses (courses → modules → lessons) with video and blog content.
  • Dual authentication:
    • OAuth (Auth0) for Students and Teachers
    • Django Admin login for Admins (admins do not use OAuth)
  • Teacher onboarding + admin verification before publishing content.
  • Review → approve → publish workflow for course quality.
  • Student enrollments, video resume, progress tracking, and CE certificates (PDF).
  • PayPal payments for paid courses (sandbox/live).
  • Course discussions for community support.
  • AI chat assistant + semantic course search with Supermemory.
  • Accessibility-first UI with high contrast, no animations, and adjustable fonts.
  • Localization for English and Spanish; SEO + sitemap included.

How we built it

  • Django multi-app project (authentication, teacher_dash, student_dash, admin_dash, lms).
  • Custom User model, RBAC decorators, and Auth0 OAuth flow with middleware syncing sessions → DB.
  • Course and lesson models (VideoLesson and BlogLesson) with media in media/.
  • Enrollment, CompletedLesson, and VideoProgress to track learning.
  • PayPal integration via service module and idempotent handling.
  • Certificates generated as PDFs with CE metadata.
  • Supermemory client for chat and semantic search; course data synced into memory.
  • Tailwind CSS with theme + font controls stored in localStorage (no animations).
  • Tests per app; seed command to demo courses; SEO sitemaps.

Challenges we ran into

  • Designing dual-auth without mixing concerns (OAuth for users vs. Django admin for admins).
  • Keeping published courses safe: auto-unpublish and resubmit for review on any edit.
  • Ensuring accessibility (WCAG) while supporting video playback and transcripts.
  • Idempotent payment flows and reliable webhooks.
  • Building AI chat that’s helpful but also privacy‑aware and scoped to courses.

Accomplishments that we're proud of

  • End-to-end RBAC with teacher verification and admin review pipeline.
  • Autism‑friendly UI that’s simple, predictable, and adjustable.
  • CE certificate generation tied to real completion logic.
  • Semantic search + chat that surface the right resources quickly.
  • Clear documentation (README + SRS + integration guides) to make this usable today.

What we learned

  • Accessibility and “no distractions” makes learning smoother for everyone, not just some users.
  • Good guardrails (review workflow, verification) keep quality high and reduce admin support later.
  • Idempotency and clear state machines make payments and publishing reliable.
  • Small, reusable components (templates, decorators, services) speed up safe iteration.

What's next for NMTSA - Learn

  • Production hardening: Postgres, object storage + CDN, CI/CD pipeline.
  • Deeper analytics dashboards for engagement and outcomes.
  • Richer moderation tools for discussions and reporting.
  • More certificate templates and continuing education integrations.
  • Docker/IaC for reproducible deployments; end-to-end tests.

Built With

  • Python 3.10+, Django 4.x
  • Tailwind CSS
  • Auth0 (OAuth/OIDC)
  • PayPal Checkout/Payments
  • Supermemory and GEMINI (AI chat + semantic search)
  • SQLite (dev), PostgreSQL (prod recommended)
  • HTML5 video, optional MoviePy

Built With

Share this project:

Updates