Site Icon Matthew Raynor
← Back to Portfolio

Lotus Path Learning Platform

An AI-powered learning platform offering custom tutorials, quizzes, and user-authenticated progress tracking.

Lotus Path Learning Platform

Project Overview

An interactive web app that generates AI-written tutorials, hosts quizzes, and lets users track progress with a personalized dashboard. Built with Django, integrated with OpenAI, and deployed on Fly.io.

The Challenge

Learners often struggle to find clear, custom-tailored explanations of programming topics and have no simple way to test themselves or track their growth.

The Solution

The platform allows users to generate AI-driven tutorials on demand, take JavaScript quizzes, and store their learning history via user accounts. It's optimized for accessibility and clarity.

Technology Stack

Backend
Django 5.1.6 Python 3.10 PostgreSQL Docker
Frontend
Bootstrap 5 Crispy Forms
Deployment
Fly.io Docker Compose Whitenoise
Tools
django-environ OpenAI API CKEditor GitHub Actions

Key Features

OpenAI-powered tutorial generation engine

JavaScript quiz module with Django views and templates

Authentication system with user dashboards and CSRF security

Styled using Bootstrap with reusable templates and layout blocks

Business Impact

Manual content creation bottlenecks

Lack of personalized study support

Difficulty integrating AI into a structured learning flow

Technical Achievements

Integrated OpenAI API into a real Django application

Configured secure, production-ready deployment using Fly.io and Docker

Set up GitHub Actions for CI/CD with collectstatic and migrations

Future Enhancements

Add real-time chat tutoring via OpenAI API

Allow users to bookmark and rate tutorials

Enable code submission and validation for interactive practice

Technical Implementation

Deployed on Fly.io using Docker. Static files handled via Whitenoise. PostgreSQL database with `.env` integration via django-environ. Includes CKEditor for WYSIWYG content editing.

Interested in This Project?

View the source code or see it in action