• React
  • NestJS
  • minIO
  • MUI
  • TypeORM


fotostash is a minimal web based photo album. Users can upload and view their images, and sort them into albums. fotostash is built to be a self-hostable, open source alternative to products such as Google Photos and Apple Photos.

The main goal for fotostash is to create a minimal and easy to use self-hosted web app. fotostash has a clean and simple design to put the focus on the most important thing in the app - the photos.


Built as one of my capstone projects in my final year of university, fotostash was written for two reasons. The first, to create a web app with clean code and future extensibility in mind. fotostash is built using modern frameworks and programming techniques. The second is to give users the option to take ownership of their own photos from cloud providers. fotostash is open source and wrapped in an easily deployable container, so can be downloaded and served by anyone with a minimal amount of technical knowledge.


fotostash is written with a React Typescript front end and a NestJS back end. There was a big focus put on both the front end and back end of this project. The back end has a focus on good practice API development, including using TypeORM to define my data structures in code. The front end has a focus on separation of concern, and using small, reusable React components.