Thanks for checking out my portfolio source! Feel free to take inspiration, copy code, etc.
I decided to develop my portfolio using the following tools
- Material-UI
- React.js
- Typescript
- Hosting on Netlify
Special thanks to my brother for providing the majority of the photography used on this site. You can find more of his work at tkdphoto
- Overall I'm happy with the look and flow of the site
- The black/white/greyscale theme is definitely eye-catching and can work for a single page site like this one
- The amount of interactable/animated elements per section is enough to keep the site visually interesting
- The site is well-written enough that this portfolio can be maintained and used as my primary portfolio for years (even the rest of my life if I'm being honest) with little to no effort
- I would say this is the first website I've fully completed. Learning new tools and techniques along the way. As such development was slow and painful with lots of backtracking
- The layout options I chose are hard to work with. I think I am picky enough that using all of the theme options (xs-xl) would be helpful
- The code for this project is a monstrosity to look at. Bloated components with styling applied to almost each and every one, although I did improve somewhat over time
- Typescript here was more of a development hassle than a help
- Was using Typescript necessary for this site? No. Was using React necessary for this site? No. Was MUI even necessary? Probably not. But I will say using all of them, especially typescript, was a good learning process and will help me refactor workout-planner to typescript in the near future.
- If I were to do it all over again, I would build this site using just Tailwind CSS and React to keep the dev time as low as possible while learning the true fundamentals of web dev. I learned that I am way too picky about my components to be using a styled library like MUI
- Finally, I need to learn the proper technique for keeping components consolidated. Obviously a 1 component per file structure goes a long way, using folders and an index to keep things organized would be helpful. Learning to use {children} will most certainly go a long way