Why did I make this site?
I was laid off and found myself on the job hunt. While updating my resume, I decided that I needed a better way to promote myself while job hunting.
What are the requirements?
It is much easier to make good decisions when you know what a projects requirements are. My answer to the question of "What's the best way to build a front end" will always be "It depends". Most of the time, it depends heavily on what the requirements are for the site and what the goals are.
So the requirements are:
Speed, hot nasty speed. I want this site to load as quickly as possible, and I want to be able to build and update it quickly.
Modern. I want a site that currently looks modern and cohesive, and will be able to evolve as our idea of a modern site changes.
Learning opportunities. I want to be able to push myself to learn new things while building the site and on projects that I can highlight on my site.
Free. I'm a fancy lady, but this isn't something that I want to spend my $$ on.
What's your stack honey?
That's what the kids are saying these days... right?
Typescript (language)
Next.js/React (framework)
Tailwindcss (css framework)
DaisyUI (component library)
Vercel (host)
Contentful (cms)
ESLint/Prettier (pipeline tools)
Pros/Cons
What went well and what didn't? I'm going to go through my choices in order of the requirements and discuss how it went.
Pros:
Speed: I'm impressed with Next.js. The build times are quick, and the server side rendering and static site generation is amazing for performance. It was really easy to deploy to Vercel and all of the the dev experience is very smooth. Tailwind and DaisyUi was easy to use to make something that looks modern (especially since I didn't have a design that I wanted to match).
Modern: All choices feel good for a modern site. This was a good excuse to use a bunch of modern tools. I'm also using a lot of gencraft.com AI generated images for the blog. The code feels modern and I think the site looks up to date.
Learning Opportunities: I snuck in a bunch way to learn while making this site. Next.js, TailwindCss, DaisyUI, Vercel, and Contentful where all new tools to me and it was great to get a chance to use them. There's also future learning opportunities with SEO, a11y, and i18n (to name a few).
Free: This site was all 100% free (and with no advertisements!), so unless it gets a really strong following, I should be fine in the free tier for everything.
Cons:
Speed: Contentful took a while to setup and is overkill for my purposes. This was a misstep as far a speed goes.
Modern: N/A my choices nailed this one.
Learning Opportunities: This site isn't complicated enough to dig very deep into Next.js, so it was a good introduction, but I'd like to use it a little for in depth.
Free: N/A my choices nailed it here too. Since there's no requirement to scale the site if traffic picks up, I won't have to worry about making payments.