About Siamak Kosari
Welcome to my personal portfolio page. This site was built using the NextJS framework based on the React library, hosted on Vercel for its SSR capabilities. Initially I was going with AWS for all my hosting needs but Server Side Rendering in NextJS is currently not supported as of March 2021. User authentication however is done in AWS Cognito and the API for the Family Tree is done in GraphQL using AWS Amplify. I could have achieved similar results using MongoDB in REST but I decided to go with AWS betting on its popularity at the moment. Later on I will implement an API switch to switch between AWS Amplify and MongoDB. If youll notice in the NavBar I have a theme switch that switches between html Material UI and others. This is not how I would implement themes in a production site but this makes sense to demonstrate competence for my personal portfolio. Abstraction is central to the design of this site, everything from buttons to modals to user logging and DOM objects like the page width and scroll height are all stored in a centralized state using React Hooks. Check out the source code on my Github account under siamaks_portfolio or feel free to clone this site and use it in your own projects.