Project
Poplog.
A full stack media journal where users can log and track their favorite movies, TV shows, video games, and books.

Overview
A centralized home for tracking entertainment across every medium.
Poplog was born from a simple frustration: keeping track of favorite movies, television shows, games, and books across multiple platforms. I wanted a single destination where users could discover new content, record their experiences, and build a personal archive of the media that matters most to them. The result is a full stack application that was engineered with automated testing, continuous integration, and Docker containerization to support a reliable development and deployment workflow.
Key Features
Created to make media discovery and collection management effortless.
Secure authentication system with protected routes and JWT-based session management
Personalized journal that allows users to save titles, record ratings, and revisit past entries
Trending content hub powered by multiple third-party APIs for movies, TV shows, games, and books
Backend data synchronization that transforms and stores external media information for faster access and consistency
Challenges and Lessons Learned
Engineering a scalable and maintainable full stack application.
One of the most demanding aspects of Poplog was integrating four separate APIs, each with its own response structure and data conventions. Creating a consistent user interface required transforming and normalizing incoming data before it could be displayed or stored. I also had to account for rate limits and performance concerns, which led me to implement caching strategies that reduced unnecessary requests and improved responsiveness. As the project matured, my focus shifted from building features to improving software quality. I introduced unit and component tests with Vitest, automated them through a GitHub Actions CI pipeline, and containerized the frontend, backend, and PostgreSQL database with Docker Compose to create a consistent development environment. These additions gave me experience with modern software engineering practices beyond application development itself.