Completed Web Application

Artist Ahmed Academy

A Bangla-first online academy where a Bangladeshi miniature artist sells video courses, with encrypted video, live classes and homework review.

Artist Ahmed Academy
01 — THE PROBLEM

Artist Ahmed is a miniature and diorama artist with 23K followers. He had no way to teach online beyond Facebook and WhatsApp. He needed to sell courses in batches, collect bKash payments, run live Zoom classes and review students' weekly homework. His paid lessons also had to be hard to download or share. All of this had to run on low-cost cPanel shared hosting, which allows no background workers, no Redis and only one CPU core.

02 — OUR SOLUTION

We built a bilingual (Bangla/English) platform with Django, Django REST Framework and React, served as one app on shared hosting. Students sign up with email verification and apply to a course batch. They pay by bKash and submit the transaction ID, and the artist approves each payment from his admin panel. Recorded lessons are uploaded in the browser in resumable pieces. The server then converts them to AES-128 encrypted HLS using cron-driven ffmpeg jobs. Playback uses short-lived tokens, one screen at a time per account and a moving watermark with each student's name and ID. Live classes support several Zoom links per class, so the free Zoom plan's 40-minute cut doesn't stop a class. Students' pages refresh to show the current link. Lessons open week by week, and each one opens only after the previous lesson is done. The artist reviews photo homework and marks it Done or Redo, and a verifiable PDF certificate is issued when the course is complete.

Outcome

The site is live at artistahmed.com with bilingual public pages, sign-up, enrolment and bKash payment approval. The full learning platform is built and tested: protected video, live classes, homework, certificates, admin dashboard and security hardening. It passes 420 backend tests (on SQLite and MariaDB) and 177 frontend tests. Every public page scored 100 for SEO and accessibility in Lighthouse. A local load test with 20 simultaneous viewers had 0 failures. Video encoding was tested on the real shared host, and the host did not kill the jobs.

Key features

  • Bangla and English versions of every page, with server-side SEO for each one
  • Email-verified sign-up, plus two-step login for admin accounts
  • Batch-based enrolment, with an admin switch to open or close admission
  • Manual bKash payment with transaction ID check and admin approval, flagging reused IDs and wrong amounts
  • Resumable in-browser video upload, converted on the server to AES-128 encrypted HLS
  • One screen at a time per account, a two-device limit and a moving forensic watermark
  • Lessons open week by week, each after the previous one is done
  • PDF materials stamped with each student's name and ID
  • Live classes with multi-part Zoom links that refresh for students, plus attendance tracking
  • Weekly photo homework with artist review (Done / Redo) and feedback history
  • PDF certificates with a QR code and a public verification page
  • Admin dashboard: payments, students, courses, batches, homework, security alerts, leak lookup by watermark ID
  • Six-month access that expires automatically, with suspend, reactivate and extend controls
  • Scheduled emails and nightly backups run by cron on cPanel shared hosting

Tech stack

Django Django REST Framework React TypeScript Vite MySQL/MariaDB hls.js ffmpeg cPanel (LiteSpeed)

Build something similar?

Tell us about your project. We'll share how we'd approach it.

Start a project