I've been brainstorming a new portfolio solution for myself over the last few days, something atypical when you think of the word portfolio. What I've come up with so far:
Leaning towards a one-pager, no thought given on HTML/CSS/JS frameworks yet.
Content is a combination of static and dynamic data. Dynamic data would be information from third-party services & insights that would have to be re-calculated every time new data is added.
Since some of this dynamic data might be large (ex: stock ticker analysis), worker tasks would be written to fetch this data and compile insights on a schedule, saving the new data to a db or redis for the website to quickly fetch.
Open Source source so my work can be reviewed for technical competency
Github Actions for CI and CD
Continuous delivery trigger on something like a release tag being added to a commit on the main trunk.
Likely will live in Digital Ocean or GCP
Localized for translation
In terms of dynamic data, some ideas I'm floating:
Pull in blog posts from dev.to
A "top 10 dividends" report which returns which stocks have the highest dividend yield.
Github data like the contribution graph (although today's looks far less impressive to my team lead days)
Insights around my cloud spend - What resources I'm using, how many domains have I registered, etc.
LinkedIn data
Career twitter insights, using current twitter data + prior archives
Clips from xbox
Health data like steps and workouts, maybe more to add transparency around cancer treatment.
Your portfolio sounds super impressive / comprehensive so I feel like the work would just speak for itself with a simple website builder (that wouldn't require your having to maintain it)? Every time I've tried to create a comprehensive CV, coded from scratch, I've regretted it lolol.
Here's my portfolio / cv site that I created with carrd.co: ria.run
:)
Hi Ria! Thanks for sharing your portfolio, you may have actually inspired me to look further into carrd and see if maybe I can just publish updates there.
Could I achieve what I'm looking for with something more simple? Absolutely. But the truth is that I don't need a portfolio to market myself either. My interest of late in publishing a portfolio was to use it as an exercise in implementing a background worker process. I've done a lot of SaaS feature work, but I never got around to background processes before I moved on from an individual contributor role.
Beyond wanting to scratch that itch, I'm all for KISS with the rest of the stack.
Oh man, that’s sick. What about it gives you that itch exactly? I’ve gotten a different itch lately —to get back to the tech side from this marketing role. Lol.
I'm coming up on 2 years since I moved from an IC role into management and I haven't had many consulting opportunities of late due to covid and cancer.
Now that we're getting beyond the pandemic and my health has stabilized, it's time to shake off the rust and get back to the hustle I had previously, scratching this itch is practice for invoicing someone else for a similar job
I run my blog/portfolio (nabeel.dev/nabeel.blog) site on DigitalOcean Kubernetes, with a few other sites. Most of the content is static, but there are some dynamic components that are pulled from a database:
Site is built in ASP.NET Core
I paid for a simple bootstrap-based HTML theme
Main pages are hand-crafted HTML
Blog posts are written in Markdown and "compiled" to HTML
Dynamic data is fetched by the C# code and returned to some simple JS code in the UI
I started on WordPress, then moved to Hugo for a while. Both are fine options, but I'm really enjoying my current setup. The advantaged that I see are:
The ability to use my favorite programming language.
Static and dynamic content are both really easy to do.
The education that comes with doing things from scratch.
It's really easy to experiment and add new features.
No more nginx/php-fpm/mysql, or messing with other people's code.
I'm not even sure if my current approach is harder or more time consuming overall. I may be starting at a lower layer than a CMS/SSG, but on the flip side I don't have to spend as much time trying to understand a complex system, its plugins, and dealing with the bugs and limitations that comes with all of that.
👋 Hey there, I am Waylon Walker
I am a Husband, Father of two beautiful children, Senior Python Developer currently working in the Data Engineering platform space. I am a continuous learner, and sha
I'll go first with an answer that has worked for me, but is not definitely how I would do it next time:
Plain HTML, plain CSS, plain JS. No dependencies, no build tools.
The reason for this approach would not be for the ease of initially building or "active" maintenance, but I generally take this approach when building a website I probably won't return to very often. Plan HTML, CSS, and JS — for a fairly small website — never gets out of date, never expires, never uses a build tool I forget how to use.
When I want to update some small thing about a website like this, the saving grace is that I can just do it without remembering the tool chain or dealing with some kind of dependency hell. Things move quickly, and reducing the tooling burden is a huge win in a lot of contexts.
That being said, despite all of that, the drawbacks are that the code and overall process can suffer. Re-usability is tough, and there are some awesome innovations you can't use with this approach.
So I'm really looking forward to hearing your take on this kind of problem. 😀
Because if you ever want to contract a freelancer to maintain it or improve it, you'll easily find someone who understands plain HTML, CSS, JS.
I'm never sure if modern build tools are really helping us save time or if we just use them because the companies that built them have huge Marketing budgets.
When I first learned about GatsbyJS, I thought:
"Oh, that's cool, probably built by some developers in their spare time. I guess people are tweeting about it because it's really helping them."
But the reality was:
"Built by a for-profit company that raised over $46M from investors and spending a ton of money on Marketing and Twitter influencers."
Not criticizing them, it's a useful tool. But I can never be sure if the hype is real or faked.
The sad part is that such tools can really overcomplicate the development process, and make it less exciting for young folks to learn web development.
10 years ago, someone learning to code got their AHA moment when they made some JavaScript and CSS run in the browser.
And now, someone learning to code might get frustrated when some npm installation randomly fails and give up. Tutorials for beginners should still start with the basics.
20ish years ago I was so happy to write first for loop statement in php and see something prints on html. Your comment brings back that good moment back. Would stay all night excited just to learn what else I can do.
👋 Hey there, I am Waylon Walker
I am a Husband, Father of two beautiful children, Senior Python Developer currently working in the Data Engineering platform space. I am a continuous learner, and sha
Plan HTML, CSS, and JS — for a fairly small website — never gets out of date, never expires, never uses a build tool I forget how to use.
A previous colleague of mine showed me his personal website and it was just this -- a picture of him, his resume, super basic styling and no JS. He was a very skilled front end engineer so I remember being taken back until he explained why.
I thought about that for a long time and now as I have more experience dealing with npm packages, broken updates, new frameworks etc. I believe it makes a lot of sense.
Assuming you don't enjoy maintaining things like that 😄
Coding for 20 years | Working for startups for 10 years | Team leader and mentor | More information about me: https://thevaluable.dev/page/about/
Twitter: @Cneude_Matthieu
I don't like blog framework, maintaining that is too much of a pain. I had a Ghost blog a long time ago, and each time I needed to update it, something was breaking.
Now I'm using Hugo for a couple of years, and I love it. It's not really a framework (I mean the website itself doesn't depend on it) and it's very extensible. Updating Hugo is super simple too (one binary). It generates the plain HTML so it's super fast.
I believe that static site generator have a big future in front of them, especially for businesses.
My take to avoid the pains of complex tooling is to use autotools. Basically have a Makefile that contains what I need to build. That will keep working. When it’s too hard to represent in a Makefile, it’s too complex to maintain casually.
And staying away from npm, maven, and so forth. It has to keep working without internet access, because anything online can move and that way break my setup.
Tech Lead/Team Lead. Senior WebDev.
Intermediate Grade on Computer Systems-
High Grade on Web Application Development-
MBA (+Marketing+HHRR).
Studied a bit of law, economics and design
Location
Spain
Education
Higher Level Education Certificate on Web Application Development
Greedings I am Dimitrios Desyllas aka pc_magas.
I am a php software engineer.
I am interested in privacy enhancing technologies, cryptography and reverse engineering.
Location
Acharnes, Greece
Education
MSc at Digital Systems Security at Univercity Of Peireus
Pronouns
Yo Wazz up bro!
Work
Volunteer Sysadmin at ELLAK of Cyprus - open for opportunities.
I'm a professional PHP, Python and Javascript developer from the UK. I've worked with Django, Laravel, and React, among others. I also maintain a legacy Zend 1 application.
I rebuilt my site in GatsbyJS last year, with Typescript and Tailwind, and I'd probably stick with that if doing it today.
The reasons I had for choosing it are still valid today - it uses React, which I'm familiar with, it supports MDX, which was a big factor since I was migrating from my own custom static site generator which also used Markdown, and it was easy to use custom URLs. The type safety of Typescript and the relative ease in styling from Tailwind were also a big factor in choosing those.
Tech Lead/Team Lead. Senior WebDev.
Intermediate Grade on Computer Systems-
High Grade on Web Application Development-
MBA (+Marketing+HHRR).
Studied a bit of law, economics and design
Location
Spain
Education
Higher Level Education Certificate on Web Application Development
I'm a professional PHP, Python and Javascript developer from the UK. I've worked with Django, Laravel, and React, among others. I also maintain a legacy Zend 1 application.
Tech Lead/Team Lead. Senior WebDev.
Intermediate Grade on Computer Systems-
High Grade on Web Application Development-
MBA (+Marketing+HHRR).
Studied a bit of law, economics and design
Location
Spain
Education
Higher Level Education Certificate on Web Application Development
I'm a professional PHP, Python and Javascript developer from the UK. I've worked with Django, Laravel, and React, among others. I also maintain a legacy Zend 1 application.
Not exactly sure what you mean by "tailwind has big coupling with HTML/JSX whereas Styled Components has almost none", but if you mean the fact that it's embedded in the HTML and JSX, that's a good thing in my opinion. Both are facets of presentation of content, and logically they belong together. And if you need to strip out all the styles and start from scratch, that's trivial to do with a simple regex when using Tailwind
It's easy to extend Tailwind if you need to, just by updating one simple Javascript config file. But it's very rare to actually need to - the defined classes are very well chosen and cover almost every situation I need, and are named logically and consistently
I can use it in any front end templating system I like - it's useful in Vue components, Laravel Blade templates, or PHP template files, as well as in React
The elimination of context switching between CSS and JSX or other templating solutions means I can style something much more quickly than I could with any solution that involves writing CSS more directly. Even if it's done within the same file, it slows me down to switch my mental context between JSX and CSS, but with Tailwind I never have to do that
The tooling is solid. I use the Tailwind LSP server in Neovim for completion and it's extremely helpful
By limiting things like width, height, margin etc to a limited subset of presets, it makes it much easier to maintain consistency across a project, without making everything same-y like Bootstrap often does. But it's easy to amend the existing presets or add your own ones
Even with CSS-in-JS solutions it's possible you may wind up with unused CSS embedded in a component - it's less likely than with separate CSS files, but not impossible. That doesn't happen with Tailwind
If there are certain repeated patterns in your styling and you're not using a component library like React, it's easy to extract them using the apply directive
It's far, far quicker to get up to speed on a new project because I know what the defaults for Tailwind are and what they do, and from the classes on an element I can get a pretty good idea what it looks like without even seeing it in the browser
Tech Lead/Team Lead. Senior WebDev.
Intermediate Grade on Computer Systems-
High Grade on Web Application Development-
MBA (+Marketing+HHRR).
Studied a bit of law, economics and design
Location
Spain
Education
Higher Level Education Certificate on Web Application Development
Learning curve: You need to learn Tailwind Syntax, while you use either standard CSS or SCSS inside styled-components.
Following the previous one, tailwind leads you to learn the CSS API the bad way, so you'll struggle when jumping into a project that does not use tailwind. i.e. `font-semibold` is not the same as `font-weight: 600;`
Extensibility and dynamism: Styled components declare styling using JS template strings, which mean you can pass props and do things like that:
So you can have props that are common to all paragraph components pre-set while adding parametrization just in what you really need.
It also works with React states so you can have a component that changes it's background-color depending on a state, as example.
The everything is a component approach on styled-components enforces re-usability of components and SOLID principles while tailwind does the opposite and promote code repetition (by classnames).
Reading templates with Tailwind is a hell, most of the time I need to scroll to the right even having a QuadHD screen to read the entire line or making it break to multiple lines. (I'm not sure about which of those is worse, I simply hate both).
There are more reasons not just those but I think it's enough to catch the idea about why Tailwind is marginally used in the industry at a professional/business level.
There's no single software architect I talked to about that which puts tailwind as first option to use and I agree for many reasons (including maintainability and speed of change things on a solid way).
Maybe if you are a backend dev that don't care much about front for any reason or you are just printing your templates from a server side application (¿is there anyone still doing that in 2022?) tailwind will be a no-brainer on that as it was bootstrap back those days.
I'm a professional PHP, Python and Javascript developer from the UK. I've worked with Django, Laravel, and React, among others. I also maintain a legacy Zend 1 application.
Learning curve: You need to learn Tailwind Syntax, while you use either standard CSS or SCSS inside styled-components.
No, you don't. It's a relatively small number of class names which are internally consistent, descriptive, and intuitive, and can be easily autocompleted with an appropriate LSP server. If anything it's easier to learn than CSS.
Following the previous one, tailwind leads you to learn the CSS API the bad way, so you'll struggle when jumping into a project that does not use tailwind. i.e. font-semibold is not the same as font-weight: 600;
Which is a complete non-issue as I've been in the industry for over a decade and already know CSS. I'm full stack so CSS isn't my primary focus, but I'm certainly not going to struggle with basic stuff like that.
Extensibility and dynamism: Styled components declare styling using JS template strings, which mean you can pass props and do things like that
But you still need to define them inline of the components, so it's easier for different components to get out of sync. Using a much more limited pool of utility classes means it's easier to avoid the situation where one component has 3px padding, another has 2px padding etc.
The everything is a component approach on styled-components enforces re-usability of components and SOLID principles while tailwind does the opposite and promote code repetition (by classnames)
I don't buy this at all. The class names are simple, logical and consistent, and tell you exactly what they do, which is generally one thing and one thing only. They are not repetitive at all.
If you're repeating the same stuff over and over it suggests to me that something needs to be refactored out into its own component. And if it does get too repetitive in one component, you always have the option of using the apply directive.
Reading templates with Tailwind is a hell, most of the time I need to scroll to the right even having a QuadHD screen to read the entire line or making it break to multiple lines. (I'm not sure about which of those is worse, I simply hate both).
I don't have an issue with this. I use Neovim and it wraps the lines fine for me. I've used VSCode a little in the last few years too and didn't have an issue with it there either.
There are more reasons not just those but I think it's enough to catch the idea about why Tailwind is marginally used in the industry at a professional/business level.
This is not only extremely patronising, but complete and utter nonsense.
I work for a digital agency which is owned by a pretty large global network of digital agencies, and is listed on the FTSE. Hundreds of people work for that agency, and thousands for the network, so we're not talking a tinpot little agency. And we use Tailwind pretty much exclusively on new projects. Furthermore, of the other developers I've worked with in the past at my current or previous employers who I'm still in contact with, probably a majority of them use Tailwind these days, including plenty with a greater focus on front end development than I have. And from the buzz I hear about it on social media, and mention of it in job adverts, it's widely used elsewhere.
There's no single software architect I talked to about that which puts tailwind as first option to use
I find this very hard to believe based on my own experience. I would suspect that the people you asked haven't actually tried Tailwind for long enough to make a remotely informed decision about it, or are one of the people who think it's the same thing as inline CSS.
Maybe if you are a backend dev that don't care much about front for any reason
Again, this is deeply patronising. Of course I care about the front end. Having developed Phonegap apps in the past, while working at a small agency where I didn't have any front end support, I've had to build out a nice, usable interface on many occasions.
or you are just printing your templates from a server side application (¿is there anyone still doing that in 2022?)
Are you kidding me? Like I said, I work for a big digital agency network and that is still the majority of what we do, and will be for the foreseeable future. Things like Next.js are useful, but for a lot of real world stuff server-side rendering with a framework like Laravel makes far more sense.
tailwind will be a no-brainer on that as it was bootstrap back those days.
This is not only extremely patronising, but flat out wrong. Tailwind simply doesn't work like Bootstrap, and none of the things I've used it for have ended up looking same-y. It's a very different beast to Bootstrap and if you know it at all (and it's easy to learn) you can produce a decent UI for basically anything you like without each site looking the same.
My front-end colleagues who work with it far more than I do and push it further than I ever do feel the same way.
Tech Lead/Team Lead. Senior WebDev.
Intermediate Grade on Computer Systems-
High Grade on Web Application Development-
MBA (+Marketing+HHRR).
Studied a bit of law, economics and design
Location
Spain
Education
Higher Level Education Certificate on Web Application Development
I'm a professional PHP, Python and Javascript developer from the UK. I've worked with Django, Laravel, and React, among others. I also maintain a legacy Zend 1 application.
Did you notice that I'm speaking on the overall technology and not about my/your experience?
No, you really obviously weren't. You're clearly now trying to shift the scope of the discussion to make it sounds like I was talking solely about my experience, which I wasn't. I work with a team of other developers and I often have to make decisions when choosing a stack that go against my personal preferences and since I'm a grown-up I have no ego about doing so.
Since you're obviously not arguing in good faith I'll bid you good day and leave it there.
Tech Lead/Team Lead. Senior WebDev.
Intermediate Grade on Computer Systems-
High Grade on Web Application Development-
MBA (+Marketing+HHRR).
Studied a bit of law, economics and design
Location
Spain
Education
Higher Level Education Certificate on Web Application Development
20+ years web dev | Full-stack architect | AI integrator | Passionate about clean code, APIs, and docs | Building innovative SaaS with AI | Open source enthusiast
I would not create a personal portfolio site nor did I ever create one.
Don't get me wrong - I have had a personal website since I was a kid. But it was my personal playground where I just tried things that were fun / interesting for myself.
When it came to work reladetd stuff to show off, I found a simple google doc with plain text much more effective. I just write the project name, the timeframe, technologies used and my role in the team.
Thats much easier to read for most companies or recruiters. My code is hosted and can be browsed on github.
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
I have already created my portfolio website with above mentioned tools. I love these tools because they make creating a beautiful portfolio website process very easy.
Here is my portfolio link mahmad.me
A simple Triforce (HTML/CSS/JS) single page website. No frameworks. You might wonder why. Well, let me tell you a story...
In the early days, we used a white paper to show our photo, info, portfolio, education, skills, references and any other relevant information. That is called Curriculum vitae! The famous CV was a simple printed document. Of course, you had to bring your skills certificates.
Now, I've seen a lot of programmers portfolio showing their skills. Some portfolio websites use frameworks, others only use the Triforce. My belief is that we need to build our portfolio in a simple way, but elegant. The site must be fast, lightweight and neat (like the printed document we used to show). We can achieve that using only the triforce. If we use frameworks, we might overload the website with unnecessary libraries. If the browser can load your website under 5 seconds, then you're good to go!
Oh, I forgot to mention VSCode! It's an essential tool for me. Happy Coding!
In my eyes in such a case a static site generator fits perfectly. Choose your favorite language and you should be able to have a kickstarter site within minutes. Most SSGs provide some templates / starters as well. Moreover most of these SSGs provide rich plugin mechanism for common use cases: e.g. sitemaps, i18n, .htaccess, seo, manifest, PWA, ...
I could not really find something that worked for me. Ended up creating vados, a rust ststic site generator with balma classes in the html. Did use it for a site about my bass before. Hope to add a few things this weekend, like canonical url support, so I can create a first version of a portfolio also.
For my personal portfolio site I went with good old fashion HTML, CSS, and Javascript with all the content hardcoded. It was a way to keep things simple and performant. I would probably stick with this setup since there isn’t anything too crazy on my site.
But if I were to build something that needed some more interactivity and pages, I might reach for something like Qwik, or Astro.build. Reason being, I appreciate that they both seem to prioritize HTML over Javascript.
Nuxt 3 + Typescript, probably deployed on Netlify. My main reason is I love using Vue 3 and Typescript. This way I can build all my pages to static HTML for SEO purposes and also have nice SPA transitions between views. Nuxt 3 is super cool, and I can write endpoints (say for a contact form or using some API) that can be built to Netlify functions. The Nuxt Content library exists as well (although I am unsure whether it does for Nuxt 3 yet) which makes building content from static markdown files really nice. I could combine this with Netlify CMS for a nice WYSIWYG content editor for the site. As far as CSS frameworks go, I'd probably write my own, or maybe modify Bulma to fit my needs. Not the biggest fan of Tailwind personally, but that's a valid option too.
Currently my portfolio runs with Gatsby.js, Netlify CMS and Custom Coded SASS. However, if I were to recreate my site I'll rework the frontend to use Tailwind CSS. The more Tailwind has evolved, the more of a fan I've become. As for my CMS, I would ditch Netlify for my blogs and get them from either Dev or Hashnode (Because GraphQL).
I built my website on top of HUGO (Static site generator) and hosted on github-pages with domain configured on cloudflare.
HUGO -> Github-pages -> Cloudflare
This would be a good combo.
You could go for Hugo if you are looking for a site which is concentrated on blogging.
Hi everyone, my name is Jesus Guerrero. I am a Full-Stack developer from the Dominican Republic. I love to learn new things, share knowledge and create things..
When creating a portfolio site I value a lot linking to personal articles and projects. I don't really value the aesthetic of the site that much, and that's why I wouldn't really use a css framework like Bootstrap, Bulma etc. Instead I would go with something custom made, like I would take the base of one framework and I would just add some classes that I would probably need for that minimum styling that I'm trying to achieve.
I am a frontend developer focused in creating application with React, Vue and Svelte. Currently, I am a software engineering student at Kasetsart University.
I currently have portfolio-lite at pontakorn.dev right now.
It's pretty overkill for a simple website. If I create it next time, I would make it simpler. It is repurposed from a blog. I moved to Hashnode now.
I have some requirements for my portfolio
Simple and maybe minimal
Easy to update
Support dark mode
Static in term of static site using Next.js or Gatsby
Can rebuild or render from API (My Hashnode posts are pulled from API.)
My preferred tool would be Next.js or Nuxt.js. I don't really like Gatsby.js because it is quite more complex.
For styling, I would use CSS Module or Vanilla Extract (CSS Module but TypeScript) or Tailwind. I think I will use Vanilla Extract this time. Tailwind does not fit with React for me.
Part of the fun with my portfolio site is getting to play and learn new things - that's why I have "🧪 Experiment 🧪 | 💥 Fail 💥 | 🧠 Learn 🧠" in my footer 🤓
I've done this a few times now,
It was with Vanilla HTML,CSS,JS first,
nextjs next
then I wrote my own SSG and that was used for it
and now it's built on astro.build
If I do start from scratch, I think I'd go with vanilla CSS,JS but would write a mini script to convert markdown to html, cause I just need markdown to be there.
Tech Lead/Team Lead. Senior WebDev.
Intermediate Grade on Computer Systems-
High Grade on Web Application Development-
MBA (+Marketing+HHRR).
Studied a bit of law, economics and design
Location
Spain
Education
Higher Level Education Certificate on Web Application Development
Did my current one with plain HTML + Scss (plus few lines of JS).
It's the most performing you can do. However if you plan to maintain it's content, i would say that adding a dashboard in order to add further things from a template would be fine, in which case I'll choose Next JS as it provides SSG, SSR, and you can code server side (Node JS) and client (React) so the only thing you can need is a DB and any cheap VPS is shipped with MariaDB/MySQL which you can handle using Sequelize ORM easily.
👋 Hey there, I am Waylon Walker
I am a Husband, Father of two beautiful children, Senior Python Developer currently working in the Data Engineering platform space. I am a continuous learner, and sha
I am partial to markata.dev for something with a bunch of markdown. I am including my blog posts in mine, which is tons of markdown that needs converted to html, and of course things change over time so I want an easy way to make plugins that can tweak all of the posts just a bit. My home page is still vanilla html/css with markata building out all of the markdown content underneath.
I would mostly stick to what I am currently using which includes:
plain HTML
plain CSS
JS only on my site search page (rest of site is free of JS)
hosted on GitHub Pages
custom static site generator implemented in Java (why below)
GitHub Actions to run said custom site generator on pushes
hacked together format for page content, page metadata, etc -- this is the input to the site generator (this is the one thing I'd change if I started over)
and a BibTeX .bib file with extra custom fields as source of content of my list of journal articles, conference papers, etc as well as one abstract page for each article. I'm a professor so this is a large part of site.
Why a custom site generator? This is related to last bullet above. I wanted to be able to generate my publication list as well as abstract pages for each publication directly from a BibTeX file. I also wanted structured data markup for this. So since no existing site generators did this, I hacked something together. The code is a mess (in a private repo for that reason). I wrote it quickly and have hacked in new features as I've wanted them. Think duct tape and silly putty holding it all together.
I'm now building my third personal website. The first gass-git.github.io/minimis/ I built it with jQuery, HTML, CSS. The second one gass.dev which is the current site I'm using I built it using React, HTML, CSS + Laravel for back-end stuff. And now I'm using React again, which is my favorite tech. I use React mainly because I have a lot of fun using it and love the modular/state system for structuring an App. I don't usually use CSS frameworks because I tend to think out site the box in terms of design, so I preffer freedom in this sense. Most of the content displayed in the site will be fetched. Projects from github, answers/stats from Stack Overflow, writings from devto, and other... For back-end I would like to learn something new, maybe firebase. I'm not sure.
My most recent portfolio was built with this tech stack:
React
TypeScript
Storybook
Netlify
No need for anything too complicated because this current portfolio is more of a landing page that links to my other profiles. Single page and lightweight andrewbaisden.com/
Using only a FE framework I also would use Git versioning from day one.
I wouldn't use a toolkit for complex webapps like react or such unless there are solid reasons to do so, like if your backend is already in place and is API-first or something. If you want to use the opportunity to use and learn something new the I'd go for offline static site generation with Gatsby or Hugo or something. But I'd rather avoid that as it's probably overkill for a personal portfolio website. You want to concentrate on other things when building that rather than learning new stuff meant for fringe cases.
I do not need a portfolio page, but I finally got my personal page to be as I want it: Built on Emacs org-mode publish, static site, with vcs-provided newest change on the first page, categories and clean PDF export, some of the pages embedding Javascript to provide purely frontend interactive content, with local tooling in Emacs, so creating new pages needs just a simple command, and autotools for full make distcheck to ensure that it works.
This page is what I use to publish everything I create — from simple comments (integrated with org-capture) over drawings and notes from roleplaying sessions to lecture slides; and all categorized so it stays easy to find.
It does not showcase technologies, but shows that I know what I use and understand how tools interact.
Just plain HTML and CSS. In most cases you don't even need JavaScript. Developers really love to over-engineer. Actually you can skip coding and just grab an HTML Template. Or just grab a WordPress Theme. I personally prefer simple things...Vanilla.
My portfolio is built on Gatsby.js, another great tool that I also like (but I'm about to convert my site to Next.js). And I also suggest Netlify to deploy the portfolio, since it can easily be integrated to github or bitbucket.
I am passionate about creation, be it code or written. I believe that knowledge should be sharee. If we all gave a little bit of our time to helping the each other, the world would be a better place.
How about using Hugo hosted on Netlify. Easy peezy, with SSL and CDN, commit and deploy straight from git. A bit like static hosting with S3 and Cloudfront but all the deployment handled for you Netfly.
I went with Gatsby (frontend) + strapi (backend) for mine. Was a plain html site before, but I was missing template abilities for the work and blog pages.
I'll go with minimalistic design using Tailwind. And Nuxt.js if need to add a blog. I have learned by doing that using fancy tools doesn't guarantee success it just increase the time of completion.
Python developer with 5 years of
experience in Back-end
development, testing and CI/CD.
Proficient with Python, Django,
Django REST Framework, Celery,
Redis, Postgres, React with Redux.
I built my portfolio website with HTML, Bootstrap and Plan JS. Hosted in Netlify with GitHub.
If I start from scratch, I probably stick to the same stack.
I am a professional DevOps Engineer with a demonstrated history of working in the internet industry. I am an avid Linux lover and supporter of the open-source movement philosophy.
I've been a professional C, Perl, PHP and Python developer.
I'm an ex-sysadmin from the late 20th century.
These days I do more Javascript and CSS and whatnot, and promote UX and accessibility.
French web developer mainly but touches everything. Volunteer mod here at DEV. I learn Nuxt at this moment and databases. — Addict to Cappuccino and Music
👋 Hi, I’m @MNDSE, in my previous life, I was a professional translator/ interpreter and project coordinator.
Now, I am a Frontend developer. I hope to bring some humor in your journey.
I built my very first website using HTML/CSS and some JavaScript. But for my personal portfolio I am planning to use react to apply the concepts I learned.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I've been brainstorming a new portfolio solution for myself over the last few days, something atypical when you think of the word portfolio. What I've come up with so far:
In terms of dynamic data, some ideas I'm floating:
Static Content I'm toying around with:
Your portfolio sounds super impressive / comprehensive so I feel like the work would just speak for itself with a simple website builder (that wouldn't require your having to maintain it)? Every time I've tried to create a comprehensive CV, coded from scratch, I've regretted it lolol.
Here's my portfolio / cv site that I created with carrd.co: ria.run
:)
Hi Ria! Thanks for sharing your portfolio, you may have actually inspired me to look further into carrd and see if maybe I can just publish updates there.
Could I achieve what I'm looking for with something more simple? Absolutely. But the truth is that I don't need a portfolio to market myself either. My interest of late in publishing a portfolio was to use it as an exercise in implementing a background worker process. I've done a lot of SaaS feature work, but I never got around to background processes before I moved on from an individual contributor role.
Beyond wanting to scratch that itch, I'm all for KISS with the rest of the stack.
Oh man, that’s sick. What about it gives you that itch exactly? I’ve gotten a different itch lately —to get back to the tech side from this marketing role. Lol.
I'm coming up on 2 years since I moved from an IC role into management and I haven't had many consulting opportunities of late due to covid and cancer.
Now that we're getting beyond the pandemic and my health has stabilized, it's time to shake off the rust and get back to the hustle I had previously, scratching this itch is practice for invoicing someone else for a similar job
I enjoy that you're so chill about being inspiring AF.
I love yours too Ria. Was that a template? It's very beautiful...what tech stack did you use?
Check out carrd.co! I think it's probably the cleanest UI I've ever seen in a site builder. That anti-aliasing is on point! 👌
Love your microcopy under "Curriculum Vitae"
ria.run looks amazing! congrats, I loved the experience (of browsing it).
I run my blog/portfolio (nabeel.dev/nabeel.blog) site on DigitalOcean Kubernetes, with a few other sites. Most of the content is static, but there are some dynamic components that are pulled from a database:
I started on WordPress, then moved to Hugo for a while. Both are fine options, but I'm really enjoying my current setup. The advantaged that I see are:
I'm not even sure if my current approach is harder or more time consuming overall. I may be starting at a lower layer than a CMS/SSG, but on the flip side I don't have to spend as much time trying to understand a complex system, its plugins, and dealing with the bugs and limitations that comes with all of that.
This sounds like fantastic portfolio.
I'll go first with an answer that has worked for me, but is not definitely how I would do it next time:
The reason for this approach would not be for the ease of initially building or "active" maintenance, but I generally take this approach when building a website I probably won't return to very often. Plan HTML, CSS, and JS — for a fairly small website — never gets out of date, never expires, never uses a build tool I forget how to use.
When I want to update some small thing about a website like this, the saving grace is that I can just do it without remembering the tool chain or dealing with some kind of dependency hell. Things move quickly, and reducing the tooling burden is a huge win in a lot of contexts.
That being said, despite all of that, the drawbacks are that the code and overall process can suffer. Re-usability is tough, and there are some awesome innovations you can't use with this approach.
So I'm really looking forward to hearing your take on this kind of problem. 😀
That's such a practical approach.
Because if you ever want to contract a freelancer to maintain it or improve it, you'll easily find someone who understands plain HTML, CSS, JS.
I'm never sure if modern build tools are really helping us save time or if we just use them because the companies that built them have huge Marketing budgets.
When I first learned about GatsbyJS, I thought:
"Oh, that's cool, probably built by some developers in their spare time. I guess people are tweeting about it because it's really helping them."
But the reality was:
"Built by a for-profit company that raised over $46M from investors and spending a ton of money on Marketing and Twitter influencers."
Not criticizing them, it's a useful tool. But I can never be sure if the hype is real or faked.
The sad part is that such tools can really overcomplicate the development process, and make it less exciting for young folks to learn web development.
10 years ago, someone learning to code got their AHA moment when they made some JavaScript and CSS run in the browser.
And now, someone learning to code might get frustrated when some npm installation randomly fails and give up. Tutorials for beginners should still start with the basics.
20ish years ago I was so happy to write first for loop statement in php and see something prints on html. Your comment brings back that good moment back. Would stay all night excited just to learn what else I can do.
so true...
100, if you are not editing the site very often using a framework makes it so much more work to update every 2 years than its worth.
A previous colleague of mine showed me his personal website and it was just this -- a picture of him, his resume, super basic styling and no JS. He was a very skilled front end engineer so I remember being taken back until he explained why.
I thought about that for a long time and now as I have more experience dealing with npm packages, broken updates, new frameworks etc. I believe it makes a lot of sense.
Assuming you don't enjoy maintaining things like that 😄
I don't like blog framework, maintaining that is too much of a pain. I had a Ghost blog a long time ago, and each time I needed to update it, something was breaking.
Now I'm using Hugo for a couple of years, and I love it. It's not really a framework (I mean the website itself doesn't depend on it) and it's very extensible. Updating Hugo is super simple too (one binary). It generates the plain HTML so it's super fast.
I believe that static site generator have a big future in front of them, especially for businesses.
My take to avoid the pains of complex tooling is to use autotools. Basically have a Makefile that contains what I need to build. That will keep working. When it’s too hard to represent in a Makefile, it’s too complex to maintain casually.
And staying away from npm, maven, and so forth. It has to keep working without internet access, because anything online can move and that way break my setup.
You can add a Bundler as devDependency (Parcel i.e. which is almost zero config) so you can ship your code minified and optimized into production :)
Also it is good idea to practice on fudamentals before going into fancy stuff.
I rebuilt my site in GatsbyJS last year, with Typescript and Tailwind, and I'd probably stick with that if doing it today.
The reasons I had for choosing it are still valid today - it uses React, which I'm familiar with, it supports MDX, which was a big factor since I was migrating from my own custom static site generator which also used Markdown, and it was easy to use custom URLs. The type safety of Typescript and the relative ease in styling from Tailwind were also a big factor in choosing those.
I would suggest to use styled-components instead Tailwind. It's not necessary to explain the reason if you try it for 30min 😁
I've already tried them and preferred Tailwind.
Reason?
apply
directiveSo you can have props that are common to all paragraph components pre-set while adding parametrization just in what you really need.
It also works with React states so you can have a component that changes it's background-color depending on a state, as example.
There are more reasons not just those but I think it's enough to catch the idea about why Tailwind is marginally used in the industry at a professional/business level.
There's no single software architect I talked to about that which puts tailwind as first option to use and I agree for many reasons (including maintainability and speed of change things on a solid way).
Maybe if you are a backend dev that don't care much about front for any reason or you are just printing your templates from a server side application (¿is there anyone still doing that in 2022?) tailwind will be a no-brainer on that as it was bootstrap back those days.
Let's take this one by one...
No, you don't. It's a relatively small number of class names which are internally consistent, descriptive, and intuitive, and can be easily autocompleted with an appropriate LSP server. If anything it's easier to learn than CSS.
Which is a complete non-issue as I've been in the industry for over a decade and already know CSS. I'm full stack so CSS isn't my primary focus, but I'm certainly not going to struggle with basic stuff like that.
But you still need to define them inline of the components, so it's easier for different components to get out of sync. Using a much more limited pool of utility classes means it's easier to avoid the situation where one component has 3px padding, another has 2px padding etc.
I don't buy this at all. The class names are simple, logical and consistent, and tell you exactly what they do, which is generally one thing and one thing only. They are not repetitive at all.
If you're repeating the same stuff over and over it suggests to me that something needs to be refactored out into its own component. And if it does get too repetitive in one component, you always have the option of using the
apply
directive.I don't have an issue with this. I use Neovim and it wraps the lines fine for me. I've used VSCode a little in the last few years too and didn't have an issue with it there either.
This is not only extremely patronising, but complete and utter nonsense.
I work for a digital agency which is owned by a pretty large global network of digital agencies, and is listed on the FTSE. Hundreds of people work for that agency, and thousands for the network, so we're not talking a tinpot little agency. And we use Tailwind pretty much exclusively on new projects. Furthermore, of the other developers I've worked with in the past at my current or previous employers who I'm still in contact with, probably a majority of them use Tailwind these days, including plenty with a greater focus on front end development than I have. And from the buzz I hear about it on social media, and mention of it in job adverts, it's widely used elsewhere.
I find this very hard to believe based on my own experience. I would suspect that the people you asked haven't actually tried Tailwind for long enough to make a remotely informed decision about it, or are one of the people who think it's the same thing as inline CSS.
Again, this is deeply patronising. Of course I care about the front end. Having developed Phonegap apps in the past, while working at a small agency where I didn't have any front end support, I've had to build out a nice, usable interface on many occasions.
Are you kidding me? Like I said, I work for a big digital agency network and that is still the majority of what we do, and will be for the foreseeable future. Things like Next.js are useful, but for a lot of real world stuff server-side rendering with a framework like Laravel makes far more sense.
This is not only extremely patronising, but flat out wrong. Tailwind simply doesn't work like Bootstrap, and none of the things I've used it for have ended up looking same-y. It's a very different beast to Bootstrap and if you know it at all (and it's easy to learn) you can produce a decent UI for basically anything you like without each site looking the same.
My front-end colleagues who work with it far more than I do and push it further than I ever do feel the same way.
Did you notice that I'm speaking on the overall technology and not about my/your experience?
It's not about my or your personal preference but somthing than can be better or worse depending on the situation or what you want to achieve
No, you really obviously weren't. You're clearly now trying to shift the scope of the discussion to make it sounds like I was talking solely about my experience, which I wasn't. I work with a team of other developers and I often have to make decisions when choosing a stack that go against my personal preferences and since I'm a grown-up I have no ego about doing so.
Since you're obviously not arguing in good faith I'll bid you good day and leave it there.
If any of you were actual grown ups you would be arguing vim vs emacs
😂😂😂😂😂
Yep, good one 😁
Next.js with SSG. Performance and good SEO. Built-in blog support as well
I open-sourced mine here
For deployment: vercel or netlify.
Keep it simple!
This is very nice! .. I really liked the buy me a coffe icon and the color palette
Thanks 😊
I created a dynamic protfolio simple, clean elegant and with a little surprise.
Check this out.
aryankaushik.tech/
It is made with html, css and javascript.
That is a lot of fun, I absolutely love it!
thanks @ben
I like the uniqueness of this. Thanks for sharing. I would maybe create a mechanism to activate and de-activate the painting thing.
I intensionally didn't added that to make it more unique. I saw your portfolio its super fantastic.
I like the way the color changes, based on which of the links you've followed when you visit them.
Thanks for wasting my two minutes Aryan! I loved it though
Thanks, atleast you checked my portfolio 🙏
I think to not repeat your self you need some build tool that is minimal, hugo is great for this kind of sites.
I would not create a personal portfolio site nor did I ever create one.
Don't get me wrong - I have had a personal website since I was a kid. But it was my personal playground where I just tried things that were fun / interesting for myself.
When it came to work reladetd stuff to show off, I found a simple google doc with plain text much more effective. I just write the project name, the timeframe, technologies used and my role in the team.
Thats much easier to read for most companies or recruiters. My code is hosted and can be browsed on github.
But thats just my personal approach.
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:
Cons would be:
Pros would be:
I'll use following tools.
I have already created my portfolio website with above mentioned tools. I love these tools because they make creating a beautiful portfolio website process very easy.
Here is my portfolio link mahmad.me
A simple Triforce (HTML/CSS/JS) single page website. No frameworks. You might wonder why. Well, let me tell you a story...
In the early days, we used a white paper to show our photo, info, portfolio, education, skills, references and any other relevant information. That is called Curriculum vitae! The famous CV was a simple printed document. Of course, you had to bring your skills certificates.
Now, I've seen a lot of programmers portfolio showing their skills. Some portfolio websites use frameworks, others only use the Triforce. My belief is that we need to build our portfolio in a simple way, but elegant. The site must be fast, lightweight and neat (like the printed document we used to show). We can achieve that using only the triforce. If we use frameworks, we might overload the website with unnecessary libraries. If the browser can load your website under 5 seconds, then you're good to go!
Oh, I forgot to mention VSCode! It's an essential tool for me. Happy Coding!
In my eyes in such a case a static site generator fits perfectly. Choose your favorite language and you should be able to have a kickstarter site within minutes. Most SSGs provide some templates / starters as well. Moreover most of these SSGs provide rich plugin mechanism for common use cases: e.g. sitemaps, i18n, .htaccess, seo, manifest, PWA, ...
My personal favorite is Gridsome. It's based on Vue.js and has a collection of starter templates and plugins. Besides I'm a huge fan of the GraphQL data layer.
And a while ago I had a same question in mind. Maybe you like my portfolio template :)
I could not really find something that worked for me. Ended up creating vados, a rust ststic site generator with balma classes in the html. Did use it for a site about my bass before. Hope to add a few things this weekend, like canonical url support, so I can create a first version of a portfolio also.
For my personal portfolio site I went with good old fashion HTML, CSS, and Javascript with all the content hardcoded. It was a way to keep things simple and performant. I would probably stick with this setup since there isn’t anything too crazy on my site.
But if I were to build something that needed some more interactivity and pages, I might reach for something like Qwik, or Astro.build. Reason being, I appreciate that they both seem to prioritize HTML over Javascript.
Nuxt 3 + Typescript, probably deployed on Netlify. My main reason is I love using Vue 3 and Typescript. This way I can build all my pages to static HTML for SEO purposes and also have nice SPA transitions between views. Nuxt 3 is super cool, and I can write endpoints (say for a contact form or using some API) that can be built to Netlify functions. The Nuxt Content library exists as well (although I am unsure whether it does for Nuxt 3 yet) which makes building content from static markdown files really nice. I could combine this with Netlify CMS for a nice WYSIWYG content editor for the site. As far as CSS frameworks go, I'd probably write my own, or maybe modify Bulma to fit my needs. Not the biggest fan of Tailwind personally, but that's a valid option too.
Currently my portfolio runs with Gatsby.js, Netlify CMS and Custom Coded SASS. However, if I were to recreate my site I'll rework the frontend to use Tailwind CSS. The more Tailwind has evolved, the more of a fan I've become. As for my CMS, I would ditch Netlify for my blogs and get them from either Dev or Hashnode (Because GraphQL).
I built my website on top of HUGO (Static site generator) and hosted on github-pages with domain configured on cloudflare.
HUGO -> Github-pages -> Cloudflare
This would be a good combo.
You could go for Hugo if you are looking for a site which is concentrated on blogging.
astro.build
Allows you to brake the sections into reusable components and you can bring any framework you like (react, vue, svelte) or none.
100 score in web vitals out of the box
You can use mardown and template to build your on site blog if you like
Example: here is mine jesusantguerrero.com
Tailwind CSS: for styles.
Vercel or Netlify for hosting: They connect with github and deploy with every merge in your main branch
When creating a portfolio site I value a lot linking to personal articles and projects. I don't really value the aesthetic of the site that much, and that's why I wouldn't really use a css framework like Bootstrap, Bulma etc. Instead I would go with something custom made, like I would take the base of one framework and I would just add some classes that I would probably need for that minimum styling that I'm trying to achieve.
So I would use:
I'm currently learning Svelte so I would replace Jekyll with SvelteKit for learning purposes.
I currently have portfolio-lite at pontakorn.dev right now.
It's pretty overkill for a simple website. If I create it next time, I would make it simpler. It is repurposed from a blog. I moved to Hashnode now.
I have some requirements for my portfolio
My preferred tool would be Next.js or Nuxt.js. I don't really like Gatsby.js because it is quite more complex.
For styling, I would use CSS Module or Vanilla Extract (CSS Module but TypeScript) or Tailwind. I think I will use Vanilla Extract this time. Tailwind does not fit with React for me.
Next.js
Tina CMS with MDX file format
Chakra UI
Vercel
Jamcomments for (comments)
Easy stack to get up and running, MDX has powerful features, using Tina CMS for open source, git backed contextual editing experience.
Chakra for easy component creation.
Jam comments is fantastic and small for comments.
I'd choose a stack I haven't worked with before.
Part of the fun with my portfolio site is getting to play and learn new things - that's why I have "🧪 Experiment 🧪 | 💥 Fail 💥 | 🧠 Learn 🧠" in my footer 🤓
I've done this a few times now,
It was with Vanilla HTML,CSS,JS first,
nextjs next
then I wrote my own SSG and that was used for it
and now it's built on astro.build
If I do start from scratch, I think I'd go with vanilla CSS,JS but would write a mini script to convert markdown to html, cause I just need markdown to be there.
Did my current one with plain HTML + Scss (plus few lines of JS).
It's the most performing you can do. However if you plan to maintain it's content, i would say that adding a dashboard in order to add further things from a template would be fine, in which case I'll choose Next JS as it provides SSG, SSR, and you can code server side (Node JS) and client (React) so the only thing you can need is a DB and any cheap VPS is shipped with MariaDB/MySQL which you can handle using Sequelize ORM easily.
I am partial to markata.dev for something with a bunch of markdown. I am including my blog posts in mine, which is tons of markdown that needs converted to html, and of course things change over time so I want an easy way to make plugins that can tweak all of the posts just a bit. My home page is still vanilla html/css with markata building out all of the markdown content underneath.
I would mostly stick to what I am currently using which includes:
Why a custom site generator? This is related to last bullet above. I wanted to be able to generate my publication list as well as abstract pages for each publication directly from a BibTeX file. I also wanted structured data markup for this. So since no existing site generators did this, I hacked something together. The code is a mess (in a private repo for that reason). I wrote it quickly and have hacked in new features as I've wanted them. Think duct tape and silly putty holding it all together.
Site is at: cicirello.org/
The publication list page generated by the site generator from a BibTeX file is at:
cicirello.org/publications/ .
And an example of one of the abstract pages also derived from the BibTeX file: cicirello.org/publications/cicirel...
The content for rest of site is maintained in a hacked together format. This is what I'd change if I started over. Not sure what I'd use exactly.
I'm now building my third personal website. The first gass-git.github.io/minimis/ I built it with jQuery, HTML, CSS. The second one gass.dev which is the current site I'm using I built it using React, HTML, CSS + Laravel for back-end stuff. And now I'm using React again, which is my favorite tech. I use React mainly because I have a lot of fun using it and love the modular/state system for structuring an App. I don't usually use CSS frameworks because I tend to think out site the box in terms of design, so I preffer freedom in this sense. Most of the content displayed in the site will be fetched. Projects from github, answers/stats from Stack Overflow, writings from devto, and other... For back-end I would like to learn something new, maybe firebase. I'm not sure.
My most recent portfolio was built with this tech stack:
No need for anything too complicated because this current portfolio is more of a landing page that links to my other profiles. Single page and lightweight andrewbaisden.com/
It depends,
If my portfolio contains nothing fancy. HTML, CSS, JS is probably best for speed and dev.
If it does contain stuff like demos of my apps, or a lot of UI components (which i've done in the past) then probably react!
Tools I'd use:
Using only a FE framework I also would use Git versioning from day one.
I wouldn't use a toolkit for complex webapps like react or such unless there are solid reasons to do so, like if your backend is already in place and is API-first or something. If you want to use the opportunity to use and learn something new the I'd go for offline static site generation with Gatsby or Hugo or something. But I'd rather avoid that as it's probably overkill for a personal portfolio website. You want to concentrate on other things when building that rather than learning new stuff meant for fringe cases.
I do not need a portfolio page, but I finally got my personal page to be as I want it: Built on Emacs org-mode publish, static site, with vcs-provided newest change on the first page, categories and clean PDF export, some of the pages embedding Javascript to provide purely frontend interactive content, with local tooling in Emacs, so creating new pages needs just a simple command, and autotools for full make distcheck to ensure that it works.
This page is what I use to publish everything I create — from simple comments (integrated with org-capture) over drawings and notes from roleplaying sessions to lecture slides; and all categorized so it stays easy to find.
It does not showcase technologies, but shows that I know what I use and understand how tools interact.
And it is free and copyleft licensed, so others can build on it: hg.sr.ht/~arnebab/draketo
Missing:
Just plain HTML and CSS. In most cases you don't even need JavaScript. Developers really love to over-engineer. Actually you can skip coding and just grab an HTML Template. Or just grab a WordPress Theme. I personally prefer simple things...Vanilla.
I would say it depends on what kind of portfolio we are talking about. Is it going to have forms? Is it need some kind of complex integration?
At this time I'm fascinated with Next.js and for me this is the best option now for SSR (or even static sites). BTW I've created this Starter for Next.js applications written in TypeScript to use on my projects.
My portfolio is built on Gatsby.js, another great tool that I also like (but I'm about to convert my site to Next.js). And I also suggest Netlify to deploy the portfolio, since it can easily be integrated to github or bitbucket.
I'd probably use Eleventy. Because it would be static and the only thing that would update would be my posts. Pish markdown to Github and it updates.
Javascript frameworks are alright, but sometimes they're more trouble than they're worth
Matter of fact, let me go do that now
How about using Hugo hosted on Netlify. Easy peezy, with SSL and CDN, commit and deploy straight from git. A bit like static hosting with S3 and Cloudfront but all the deployment handled for you Netfly.
I'd use svelte , as I just started using it and I got to say .... It's easier than everything else.
None. Portfolio sites are vanity projects that are mostly a waste of time
I went with Gatsby (frontend) + strapi (backend) for mine. Was a plain html site before, but I was missing template abilities for the work and blog pages.
cool design
I'll go with minimalistic design using Tailwind. And Nuxt.js if need to add a blog. I have learned by doing that using fancy tools doesn't guarantee success it just increase the time of completion.
Only HTML
Hugo, HTML, CSS and if necessary JS. Make it live with github/GitLab pages or Netlify.
I built my portfolio website with HTML, Bootstrap and Plan JS. Hosted in Netlify with GitHub.
If I start from scratch, I probably stick to the same stack.
Most-likely I'll stick to Laravel + Livewire + Apline.js and Tailwind CSS, eg the TALL stack.
Would also use Tails for some hand-crafted Tailwind CSS UI elements.
These days, probably Next and material UI but that's because it's what I've been teaching myself and next week I'll give a different answer.
TailwindCSS, Angular, Firebase hosting, Github actions
The tools that will help me make my personal portfolio
CSS with no frameworks and NuxtJS for the support!
Upto now I choosed only Html, Css & Javascript but now the next version will comprise of Nextjs, Material-ui, Express.
Astro.js and Tailwind CSS
Astra, Vue, Tailwind, Pug
You can't go wrong when you go for speed
I made mine with Next.js
time to be a python fullstack engineer?
Lua and Git. Yes, that's really it.
As simplicity goes, it's hard to go wrong with Eleventy these days.
I built my very first website using HTML/CSS and some JavaScript. But for my personal portfolio I am planning to use react to apply the concepts I learned.