Work Experience
FREELANCE PYTHON DEVELOPER
06/2025 - 06/2026
Built a multi-tenant influencer CRM backend with Django REST Framework, ensuring strict tenant isolation and secure ownership boundaries. Integrated an external tracking engine via a custom Python client and delivered optimized analytics with performant SQL patterns. Designed relational data models and containerized the platform with Docker for reproducible development.
PYTHON DEVELOPER - TRAINING & PORTFOLIO PROJECTS
12/2023 - 03/2025
Mate Academy professional Python developer programme with parallel independent backend projects. Built an asynchronous FastAPI backend with a clean layered project structure, robust custom authentication system with JWT, refresh tokens, account activation, & secure password handling, Role-based Access Control. Implemented background task pipeline using Celery for email notifications and account lifecycle events. HLS video streaming pipeline - FFmpeg transcoding to 360p/720p adaptive-bitrate variants. Containerized applications with Docker, built CI/CD pipelines & deployed applications on Render & AWS.
Quality & BI Projects
NCR Quality Dashboard - Excel & Power BI Proof of Concept
A mock ISM non-conformity tracking system built to demonstrate Excel and Power BI reporting skills for a Quality Engineer role: raw NCR data modeled in Excel, then rebuilt as an interactive Power BI report with cross-filtering visuals and a short data-driven presentation of findings.
- Excel: structured tables, XLOOKUP/FILTER-driven live CAPA tracker, native PivotTables
- Power BI: clean single-table data model, Card/Bar/Donut visuals with automatic cross-filtering
- Analysis: grouped six root-cause categories into three actionable clusters, flagged a monthly volume spike
- Downloads: Excel workbook · Power BI KPI export · Presentation deck
Projects
Online Cinema Platform - FastAPI, Async Architecture, RBAC, Celery, WebSockets
A production-grade backend for an online cinema platform built with FastAPI, async SQLAlchemy, PostgreSQL, Redis, and Celery. The system implements a complete authentication and authorization flow, real-time features, background task processing, and a clean modular structure designed for scalability and maintainability
- Async FastAPI backend with PostgreSQL (async SQLAlchemy), Redis, Celery, and Nginx
- JWT auth with refresh tokens, account activation, and password reset; role-based access control (User / Moderator / Admin)
- Real-time WebSockets for live comments, notifications, and chat
- Celery background task pipeline for email notifications and account lifecycle events
- Movie catalog with ratings, likes, favorites, comments, and user profile management
- Redis caching with user-specific keys and event-driven invalidation for consistent catalog responses
- External service integrations: S3/MinIO (aioboto3), SMTP (aiosmtplib), randomuser.me API (httpx) - all async, behind interfaces
- HLS video streaming pipeline - FFmpeg transcoding to 360p/720p adaptive-bitrate variants, stored in MinIO and played back via any HLS-capable browser
- Integration test suite with pytest-asyncio on isolated PostgreSQL databases
- CI pipeline with Ruff, Mypy, Pytest, and coverage; pre-commit hooks enforcing formatting, linting, and typing
- Nginx reverse proxy for HTTPS, routing, WebSocket upgrades, and caching
Real-Time Nested Comments System Live ↗
A full-stack SPA delivering live comment threads with file attachments, async email notifications, and sub-second WebSocket updates - containerised and deployed to production on a VPS.
- Nested comment threads with recursive tree rendering and live reply-count updates
- Real-time broadcasting via Django Channels + Redis pub/sub (WebSocket push to all connected clients)
- Asynchronous email notifications via Celery, decoupled through Django signals (Observer pattern)
- File attachment support (images resized server-side, text files validated) with atomic rollback on upload failure
- Server-side HTML sanitisation (allowed-tag allowlist) and captcha validation on every submission
- Response caching with per-ordering/page cache keys and cache invalidation on new comments
- Dockerised stack (PostgreSQL, Redis, Daphne, Celery, Nginx) with separate dev and production compose files
- GitHub Actions CI/CD pipeline - automated linting, tests, and deployment to production VPS on every push
- Full test suite: pytest-django integration tests with real DB, factory fixtures, and cache/transaction boundary coverage
Theatre API Service
An API service for theatre management built with Django REST Framework, supporting shows, performances, bookings, and user roles.
- REST API with JWT auth, custom email-based login, and role-based access control (Django REST Framework)
- Relational data model with FK/M2M relationships, validation rules, and DB constraints (e.g., unique seat reservations per performance)
- Business logic for automatic seat availability calculation, multi-layer ticket validation, and user-bound reservation creation
- DRF ViewSets and nested serializers with select_related / prefetch_related to eliminate N+1 queries
- Dockerised environment with PostgreSQL and PgAdmin
- JWT token blacklisting with automated Celery Beat cleanup via Redis
Restaurant Kitchen Management Service
A Django-based backend system representing a restaurant kitchen workflow, including staff management, dish preparation, and cook assignment to dishes.
- Django app with a custom user model and automatic slug generation for clean URLs
- Full CRUD for dishes, dish types, ingredients, and cooks - with image upload and input validation
- Dynamic cook-to-dish assignment via a toggle action (add/remove without a dedicated form)
- Search, filtering, and pagination across all major list views
- Custom middleware, prefetch_related query optimization, and persistent query parameters