Tech With Rathan
Featured
Solo
Completed

Tech With Rathan

A robust, creator-focused Learning Management System featuring geographical pricing and multi-currency support.

Role: Full Stack Developer
DjangoReactBootstrap 5PostgreSQLStripeRazorpay

About This Project

What I built and why

Tech With Rathan is a high-performance e-learning platform built with Django and React. It empowers creators to host and sell courses globally with a unique geographical pricing engine that automatically adjusts costs based on the student's location. The system includes features like multi-format lessons (Video/Article), student progress tracking, automated certificate generation, instructor management, and a flexible coupon system for marketing.

Key Features

What makes this project stand out

01

Built a dual payment gateway integration supporting both one-time course purchases and recurring subscriptions (monthly/yearly/lifetime) via Stripe and Razorpay, with webhook-driven lifecycle management handling activation, renewal, cancellation, and plan-switching with pro-rated credit calculations for mid-cycle upgrades.

02

Designed and implemented an email marketing automation engine with a visual workflow builder, configurable trigger → delay → action pipelines for abandoned cart recovery (add-to-cart, checkout, subscription), Celery-powered batch email processing with rate limiting, exponential retry backoff, queue health monitoring, and encrypted SMTP credential management using Fernet symmetric encryption.

03

Developed a country-wise dynamic pricing system using IP geolocation to detect user location, resolve locale-specific currency and pricing for courses, subscriptions, and live classes, and dynamically render region-appropriate checkout flows — supporting multi-currency transactions across Stripe and Razorpay with real-time currency conversion via ExConvert API.

04

Engineered a live class management platform with batch-based enrollment (weekday/weekend), add-on purchases, structured curriculum delivery, scheduled lesson links, recorded class archives, assignment submission with late-detection and instructor grading, and downloadable lesson resources — all gated behind enrollment verification.

05

Built an automated certificate generation pipeline that populates a branded PPTX template with student name, course title, completion date, and total course duration, converts it to PDF via headless LibreOffice, and stores the result as a downloadable asset with a unique validation number for external verification.

06

Developed a comprehensive admin console (server-rendered Django templates) with course CRUD and drag-and-drop curriculum ordering, student analytics with per-course progress tracking, manual enrollment and subscription provisioning, payment breakdown by currency with INR conversion rollups, and bulk email campaign management with per-recipient open/click tracking.

07

Integrated Google OAuth 2.0 and JWT-based authentication with email verification workflows, password reset via tokenized links, reCAPTCHA bot protection, and Google Analytics (GA4) event tracking for user journey attribution.

Challenges & Solutions

Problems I faced and how I solved them

Challenges Faced

1

Implementing subscription systems for both Stripe and Razorpay despite their fundamentally different APIs, billing models, and webhook behaviors.

2

Keeping subscription states synchronized across payment gateways to prevent expired or canceled users from retaining course access.

3

Handling edge cases such as failed renewals, paused subscriptions, manual cancellations, and webhook delays.

4

Designing a reliable student progress tracking system that accurately records video completion and lesson milestones.

5

Ensuring progress data remains consistent across devices and sessions without performance degradation.

My Solutions

1

Designed a unified subscription abstraction layer that normalizes Stripe and Razorpay subscription events into a single internal state model.

2

Implemented webhook-driven subscription state management to instantly grant or revoke course access based on payment lifecycle events.

3

Built a fault-tolerant retry and reconciliation system to handle delayed or missed webhook events safely.

4

Developed a granular progress tracking schema that records lesson-level completion and timestamp-based video progress.

5

Optimized progress updates using batched writes and indexed queries to ensure scalability and real-time accuracy.