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

- 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
- 01
Static public, dynamic admin
Public pages are statically generated. Only the admin panel talks to Supabase live.
- 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.