An earlier iteration of my personal portfolio: a clean, professional showcase of selected projects and skills, designed to be easy to scan for employers and collaborators.
// images
Challenges
Structuring project data so portfolio entries could be managed outside the React codebase.
Rendering rich markdown project descriptions safely and consistently in the UI.
Making it easy to extend as new projects ship.
Approach
Used Contentful as the CMS, with React fetching project data through the Contentful JavaScript SDK.
Managed project filtering and async data flow with Redux Toolkit and createAsyncThunk.
Containerized the app with Docker, stored images in Amazon ECR, and deployed through Elastic Beanstalk.
Outcomes
Built a dynamic portfolio site where projects can be updated through the CMS instead of code changes.
Added technology-based project sorting to improve browsing and discoverability.
Gained practical experience with Redux Toolkit, Contentful, Docker, and AWS Elastic Beanstalk deployment tradeoffs.