Case Study
MentalMemories
A production SaaS platform for creating, sharing, and collaborating on digital memory collections with photos, videos, and geotagged locations.
- Role
- Full Stack Engineer
- Period
- August 2025 – Present
The Problem
The client needed a full SaaS platform where users could create, share, and collaborate on digital memory collections (photos, videos, locations), with a subscription model, real-time features, and multi-language support — built from scratch and production-ready.
The Solution
I architected a Node.js/Express REST API with MySQL (Sequelize ORM), authentication via JWT and Google OAuth, and a CASL-based role/permission system. I implemented real-time notifications with Socket.IO and Redis, plus asynchronous video transcoding with FFmpeg and BullMQ. The frontend was built with React 19 and React Router v7 in SSR, with TypeScript and Tailwind CSS, Stripe subscription billing, PWA support, and bilingual (Greek/English) i18n. I also added a React-Admin backoffice for tracking operator/affiliate commissions and a BFF proxy layer. All services are containerized with Docker, with separate staging/production environments and CI/CD via GitHub Actions.
- Node.js
- Express
- MySQL
- Sequelize
- JWT
- Google OAuth
- CASL
- Socket.IO
- Redis
- FFmpeg
- BullMQ
- React 19
- React Router v7
- TypeScript
- Tailwind CSS
- Stripe
- PWA
- React-Admin
- Docker
- GitHub Actions
The Result
A production-ready SaaS platform in active use, with a full subscription system, real-time features (notifications, video processing), and a fully automated CI/CD pipeline — from architecture to deployment.