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
Log in or sign up for Devpost to join the conversation.