DEV Community

Discussion on: What tools would you choose to create a personal portfolio site if starting from scratch?

Collapse
 
aminnairi profile image
Amin • Edited

Writing a portfolio in pure HTML, CSS and JavaScript would be fun, but this would also mean a lot of time spending repeating a lot of things since HTML, CSS and JavaScript do not scale well.

So it would be more interesting to use a JavaScript framework since a portfolio often means no server. But again, there is a JavaScript fatigue to setup a new project with NPM, Webpack, Vite, React, Angular, Vue, ESLint, Jest, ...

With all that in mind I would go the Elm way because:

  • This is a purely functional language and I prefer the guarantees it brings compared to object-oriented programming
  • The bundler is built-in
  • The linter is built-in
  • The testing library is built-in
  • The router is built-in
  • The dependency manager is built-in
  • The JavaScript framework is built-in (it's a core dependency)
  • The compiler errors are the greatest of all programming languages
  • It is easy to go back to any projects months later (thanks to the compiler)

Cons would be:

  • To learn functional programming
  • To learn a ML syntax
  • To accept learning new ways of doing things

Pros would be:

  • Having fun learning new things in a side project
  • Possibly getting good habits when going back to work
  • Having a portfolio that ships with the least amount of errors
  • You can go back to it 5 months later and add a new feature confidently even though you completely forgotten how you built the dang thing