Platforms
Tausif1337.dev CMS + LMS
Two subsystems on one personal platform: a markdown blog CMS with newsletter export, and an LMS with course → module → lesson hierarchy and progress tracking. Supabase RLS underneath both.
2
Subsystems
RLS
Enforced
How it came together
The setup
The site needed two things engineering-side: a CMS so the blog stops touching code, and an LMS so the courses I teach live in the same place I write.
The challenge
Run a CMS and an LMS off the same Supabase database without cross-contamination, and keep the public site fully static.
Scale
Personal platform with public blog reads, newsletter subscribers, and course/lesson tracking.
The hard parts
Non-negotiables
- Public site has to load instantly
- Newsletter export GDPR-clean
- Lesson progress survives a logout
Trade-offs we made
- Markdown editor is text-area + preview, not WYSIWYG. The audience is technical; rich editors are a liability for code blocks.
- Skipped video hosting. Embed external for now.
Calls I made
Static public, dynamic admin
Public pages are statically generated. The admin panel is the only thing that talks to Supabase live.
RLS across both subsystems
Every table (posts, lessons, progress) sits behind row-level policies. The admin client and the student client run with different identities.
