TAUSIF
home
All projects

13 of 14

Platforms

Tausif1337.dev CMS + LMS

Two subsystems on one personal platform. A markdown blog CMS with newsletter export, and an LMS with course, module and lesson hierarchy plus progress tracking. Supabase RLS underneath both.

Built at
TechnicalBind
Scale
Personal platform with public blog reads, newsletter subscribers, and course/lesson tracking.
Category
Platforms
Tausif1337.dev CMS + LMS
Subsystems
2
RLS Coverage
100%

Context

The site needed two things. A CMS, so the blog stopped needing a code change every time. And an LMS, so the courses I teach live in the same place I write.

Challenge

Run a CMS and an LMS off the same Supabase database without cross-contamination, while keeping the public site fully static.

Non-negotiables

  • Public site has to load quickly
  • Newsletter export GDPR-clean
  • Lesson progress survives a logout

Calls I made

  1. 01

    Static public, dynamic admin

    Public pages are statically generated. Only the admin panel talks to Supabase live.

  2. 02

    RLS across both subsystems

    Every table (posts, lessons, progress) sits behind row-level policies. The admin client and the student client run as different identities.

Trade-offs accepted

  • The editor is a textarea and a preview pane. Rich editors mangle code blocks, and the audience here is technical, which made this cheap to decide. It is still a trade — nobody who doesn't write markdown can publish on this site.

Outcome

Writing and teaching ship out of the same admin panel, onto a static public surface that costs almost nothing to host.

Stack

  • Python
  • Django
  • TypeScript
  • React
  • Tailwind CSS
  • PostgreSQL
  • Docker
  • GitHub Actions for CI/CD
  • Linux VPS
  • Celery

Got something similar in mind?

Send 3 lines. I reply within a day.

tausif1337@gmail.com