Own product · RahCode · Online Exams, Video Courses & Live Classes, with an Instructor Marketplace

Classyar

A self-hosted Persian learning platform for schools and teachers. It covers timed exams with standardised (taraz) scores and ranks, protected video courses, live classes over adaptive HLS, and a marketplace where instructors sell and get paid.

My role
Sole developer: product, backend, frontend, streaming infra, release
Year
2026
Built with
Laravel · MySQL · Tailwind CSS & Alpine.js · MediaMTX & ffmpeg (HLS)
View live site
Classyar

By the numbers

  • 5 Domain modules
  • 63 Database tables
  • 295 Web routes
  • 2 Payment gateways
01

The Challenge

Iranian schools run exams and classes across a patchwork of tools, and the market scripts mostly do one thing each. The goal was a single installable product covering exams, courses, live teaching and instructor payouts, priced for a school and running on hardware it already has.

02

The Approach

I split the domain into clear modules (Exams, Courses, Live, Instructors and Payments) on a role-and-permission core. Exams got a question bank with Excel import, an exam hall, negative marking and report cards with taraz scores and ranks. Courses got protected playback through Nginx X-Accel, progress tracking, notes and certificates.

Live classes run through MediaMTX, with one ffmpeg transcoder per class producing adaptive HLS. Chat, polls, Q&A voting and recordings sit on top.

03

The Outcome

Version 1.0.0 shipped with a web installer, in-panel updates, a 22-page Persian guide and a public demo that resets every hour. One codebase now covers what schools previously stitched together from separate tools, with Zarinpal and Zibal payments and editable SMS templates built in.

What I built

  • Question bank with Excel import, timed exam hall and optional negative marking

  • Report cards with taraz (standardised) score, rank and Excel export

  • Video courses with protected playback, progress, notes, Q&A and certificates

  • Live classes over adaptive HLS (MediaMTX + ffmpeg) with chat, polls and recordings

  • Instructor marketplace with commission, earnings and payouts

  • Zarinpal and Zibal, wallet and coupons, SMS OTP and a web installer

Gallery

Built with

Laravel MySQL Tailwind CSS & Alpine.js MediaMTX & ffmpeg (HLS) Nginx Zarinpal & Zibal Kavenegar SMS