6
0 Comments

Building too many custom elements before launching our site was a mistake

When we first built the nitric.io site, we did it with ambition. Next.js, custom components, Prismic CMS, and hand-built CI/CD deploying to DigitalOcean app platform. We had the best intentions, but it was a mistake.

Headless CMS
The CMS was in case we added non-developers to the team. The problem is, it means building integration with the API, then components to deal with Pages, Custom Types and Slices. You also need to deal with drafts/previews and sync code & content releases so that new Custom Types don't break your existing pages.

The trade-offs are fine if you have the team size/structure to justify it. We didn't. For us, it was just extra work without extra value.

Custom Deployments
Next, the custom hosting was to avoid wasting money on Vercel/Netlify (~$60/mth for 3 people). We built a custom CI/CD process and deployed to DigitalOcean App Platform to "save money" with $15/mth hosting for the site.

When you're a team of developers, it's easy to see dev as "free", but that's an illusion. We wasted a lot more time learning, building, testing and fixing this solution.

Fixing Mistakes
Two months ago we decided to strip it all back to just Next.js, an open-source component library, markdown for basic pages and Vercel for hosting.

It's awesome, the components, CI/CD and workflow are all less complicated and less fragile. We can change the content just as quickly and layout more quickly.

Lesson learnt, optimize for speed with the team, skills and scale you have today and assign value to your time, so you can pay for products that save it.

on March 21, 2022