Ah... Same old, same old, right? No? Ups. Buckle up!
When me and Dalina picked up the Belgian Boys website project, we thought we already knew what was coming to us.
We naively assumed that because the design systems were similar that we could pick a lot of things from one place to the other. But no matter what people say, each project is a project. You can take snippets of code from one place to the other, but maybe taking huge chunks might not be the best thing. And if initially we were going down that path, we quickly realized that going through it it's a big no no. Even though deep down we already knew that, we are both ambitious developers and, therefore, tend to have a little bit (or a huge bit) of laziness.
We had a great amalgamation of things going in our favor. We already knew how to work with each other, we knew how to work with the tools - Gatsby and Shopify - and we also already had developed some experience with the team's designer. It all just fit perfectly!
Or does it?
Yes! It's dead simple.
Aah. External tools and APIs
From business to business you will find different needs, different things we need to consider. Working with the same people also is great because you work together to overcome these challenged and possible missteps.
Take this example: Mailchimp. People all over the world use it - it's a multi million dollar business that gives great power to business owners, entrepreneurs and developers alike. No dispute here.
Now... If you try to use it in a way that isn't necessarily exactly as they plan it, then you're going for a ride. But that's okay, it's just a different challenge and a new learning.
Going on a more technical topic here. If there's something that is as fun as implementing something as it was intended, whenever you do something that, deep down, feels like the hackiest thing ever (that works), is a thrill like no other. It's just beautiful. There's no other word. Using a useEffect or, for other people that are not familiar with React or React Hooks (a component lifecycle method that runs every time a specific component goes through different steps of its lifetime), to add do things that are intended to be done on a Wordpress setup or simpler landing pages with plain HTML, and we have to run it through different hacky steps is just beautiful. Here I am, getting teary eyed just thinking about it.
Changing is scary
Changing from one platform to another is scary if you're not 1000000% confident you can do all in one go. Changing platform, provider, domain host, and hundreds of other technical jargon here, is even scarier. How much? Way way scarier.
We did a trial run and, guess what, it completely failed. The good thing is that Belgian Boys is a US based company which means that we can try to make a change from Europe and give the DNS providers time to, hopefully, update data by the time that the United States wakes up. The problem is it doesn't (update, not the wake up part. That would be worse, for sure!).
And like I've said before, and even though it's common sense, one day in a personal project is probably okay. For a real business, that has payments and has people that depend on it - workers, providers, etc - even 5 minutes can feel like the longest 300 years of your life. Just think about this: how much money are you losing here.
The main thing I can say is: each movement has to be methodically calculated, but when you believe you have the solid rock to stand in, go and stand on it! There's no reason to be scared.