Building a business from scratch - day 14
Tags: javascript, react, nextjs, devjournal
Published: 2022-04-01 10:44:17

Welcome to day fourteen of the [useaffiliates.com](http://useaffiliates.com/) build log! This series covers my journey of building a business from scratch in public. If you missed day thirteen, you could [check it out here](https://www.twankrui.com/blog/building-a-business-from-scratch-day-13). I also uploaded today's [Twitch stream](https://twitch.tv/twankrui) to [YouTube](https://youtu.be/hPjXd0UU89w) if you want to watch the replay.

## We are officially in Alpha! 🥳

Let’s start this build log off with a bang💥, I pushed [useaffiliates.com](https://useaffiliates.com/) to a server, so we are officially in Alpha! I did this to get feedback from my Twitch buddies on the listing page and because I needed to hit any form of milestone to pump my motivation levels up.

Now let’s go over the changes we made today!

## Terms & Privacy pages. 📃

It doesn’t matter what the project is; these two pages always annoy me. It’s a struggle between copying without worrying about it or looking into it and figuring all the legal stuff out.

I came across a tool called [Termly](https://termly.io/), a nice middle-ground because it writes everything for you after filling out a short questionary. However, with some of the questions, I still thought to myself, “wait.. what?”. I am still a bit on the fence about using the generated text since I don’t know if they are correct.

Before paying for Termly, I will ask around in my network to see if anybody knows someone who can help me out with this. If not, I am probably going to pay for the Termly subscription.

Better have something that might cover my ass.

## Caching page. ⚙

With all the pages in place, it was time to look into caching the pages. While the page loads are already pretty darn fast, I still had the option to include some caching headers. I would have been a fool not to set them.

Setting up the server-side rendering caching headers was amazingly easy. I basically followed [this example](https://github.com/vercel/next.js/tree/canary/examples/ssr-caching) which took me about 5 minutes, if not less.

## SEO changes. 📝

At this stage of development, I only set up some barebones SEO meta tags like the title, language, and description. For a couple of past projects, I already looked into doing SEO for a NextJS application, so I copied over some snippets of code and went through every page to update;

1. The title
2. The description
3. The og:description
4. The og:url

Now every page, particularly the category pages, have their SEO set up properly. I might want to explore creating dynamic social images for the category pages in the future. But that’s more of a nice to have.

### Adding the favicon.

Finally, after all these years of developing front-ends, I didn’t forget to add a favicon before deploying the application! 

The tool I always use for generating the correct favicon and icons is [Favicon Generator](https://realfavicongenerator.net/). You upload your favicon at a 260x260 size, and the tool will generate all the icons for you to download via a ZIP. You also can set your theme color and see how your favicon might look in different scenarios (IOS, Android, Safari).

## Update pages without any content. ✒

Since I wanted to do an alpha release today, I updated the pages that don’t have any content with at least a little bit of content. For example, I’ve updated the “post a program” page to include the following message:

“We are still working on this part of the project! If you already want to submit your affiliate program, feel free to reach out (with an email link).” 

This way, if anyone tries the alpha and would like to submit their affiliate program, they know what to do. I already added that I want to include the pricing information in my alpha feedback list. This might prevent awkward conversations like, “Thanks for reaching out! Here’s a payment link for $490 for a 1-year listing”.

## Add Fathom analytics. 📊

I had already created a Fathom project for the Convertkit landing page (thanks for the sign-ups!). The only thing I had to do was to use the npm `fathom-client` package and follow [this short guide](https://vercel.com/guides/deploying-nextjs-using-fathom-analytics-with-vercel) on recording pageviews when a route changes.

The nice thing about the `fathom-client` package is that it has a `includeDomains` function so that you don’t have to worry about logging localhost data or even the testing domains on Vercel. 

Next time, I might want to remember to import the package before committing my changes. 😅 But after switching my domain to useaffiliates.com, the page views started to show up on my Fathom dashboard.

## Deploying to Vercel. 🚀

The milestone task for today was to push the project to vercel, and I am always amazed by how dead simple this process is.

In my case, I updated my repository permission so that Vercel could access the repository. You click "Add," fill out your environment variables, and wait for Vercel to do its magic. Within a couple of minutes, you are greeted with confetti that your site has been deployed.

The project is now officially out there on the wild worldwide web.

### Updating the domain

The final step of releasing the alpha version was to update my DNS settings to point to Vercel. 

First, you add your domain to your Vercel project. Once done, you get back the DNS records, so I went to namecheap and updated the DNS settings (made sure I set a short TTL). Within a minute or two, the ConvertKit landing page was retired and replaced by the [useaffiliates.com](http://useaffiliates.com) alpha version! 

Ladies and gentlemen, we are live! 🚀

## Alpha feedback. 💭

I will be back on this project either Monday or next Tuesday, but in the meantime, I will be adding new affiliate programs to the database and testing out the site on multiple devices around the house.

If you would like to follow the Alpha progress, you can have a look at my “[alpha feedback](https://www.notion.so/Alpha-feedback-bdc13abefa644d35ad32f043cdb2a77d)” todo in notion.

If you have any feedback or want to hang out, I created a useaffiliates-com channel in [my discord](https://discord.gg/8vK2VyQuw8). Feel free to join and send me a message! I just set up the discord, and we are currently only with a couple of people, but the more, the merrier!

Thanks again for reading this build log, have a great weekend in advance!

If you want to stay updated in the meantime, [give me a follow on Twitter](https://twitter.com/twankrui).

With love,

Twankrui