
Tech Stack
Description
I built Sudo Explain as a bilingual full-stack blogging platform for technical content, combining a React frontend with a Django REST Framework backend and PostgreSQL. The platform supports paginated posts, full-text search, tag and category filtering, bilingual English/Persian content, threaded comments, public author profiles, and a dedicated staff publishing dashboard.
The backend uses PostgreSQL full-text search with GIN indexes and trigram similarity to provide ranked and typo-tolerant search results. Security and data integrity are handled through JWT authentication, custom CORS and Content-Security-Policy middleware, HTML sanitization with Bleach, image validation with Pillow, soft deletion, request throttling, and user-scoped access control.
The React frontend provides a terminal-inspired interface with dark/light themes, skeleton loading states, and authenticated workflows. Axios interceptors handle silent JWT refresh and retry concurrent requests after token expiration, while Redis and Celery are configured to support background processing such as AI-generated post summaries.
- Implemented PostgreSQL full-text search using GIN indexes, SearchRank, and trigram similarity for ranked and typo-tolerant results.
- Built a bilingual content system with separate English and Persian post fields and a frontend language toggle.
- Designed a recursive threaded comment system with nested replies, edit timeouts, moderation, soft deletion, and per-user limits.
- Implemented comment likes with database uniqueness constraints, DRF throttling, and optimistic frontend updates.
- Built a view-tracking system using deduplication by IP and client-generated visitor ID, atomic F-expression updates, and rate limiting.
- Implemented JWT authentication with Axios-based silent token refresh and queued retry handling for concurrent 401 responses.
- Developed custom CORS and Content-Security-Policy middleware and added HTML sanitization and image validation to protect user-generated content.
- Created a staff-only dashboard for post CRUD operations, cover and inline image uploads, tag management, category selection, and soft deletion.
- Configured Celery and Redis for background processing, including support for AI-generated post summaries.
- Containerized the Django backend with Docker, Gunicorn, PostgreSQL, environment-based configuration, and WhiteNoise.
Page Info
Homepage – Dark Theme
Terminal-inspired post grid with search, skeleton loading, responsive layout, and dark/light theme support.

Post Detail – Bilingual Content
Full article view with English/Persian content switching, tags, category, view count, and cover image.

Threaded Comments
Nested comment threads with replies, likes, moderation, and abuse-prevention mechanisms.

Author Profile
Public author page with profile information, statistics, and a paginated list of published posts.

Staff Dashboard
Staff-only publishing interface for creating and editing posts, uploading images, and managing tags and categories.
