> Building a business from scratch - day 17
Published on . 5 min readWelcome to day seventeen of the useaffiliates.com build log! This series covers my journey of building a business from scratch in public. If you missed day sixteen, you could check it out here. I also uploaded today's Twitch stream to YouTube if you want to watch the replay.
Why am I not getting any traffic!? đ
While working on the daily update blog yesterday, I was bummed that it seemed like I hadnât had any visitors over the past seven days on useaffiliates.com. But after a couple of seconds, this feeling got replaced by an âo shitâđĄ.
I encountered this one time before with the fathom-client package. If your domain redirects to the âwww.â version and you donât have that inside the includedDomains array, no data will be sent to Fathom.
After updating the array, the traffic started to show up! I'm still bummed that I donât have all the data from throughout this series, but at least the analytics will work on launch day.
UX improvements â
My plan for today was to test the application thoroughly and be critical of everything. Sure, I might encounter some things that are not feasible to implement before launch, but at least we can add them to our next up or backlog.
Loading progress.
When updating the filters or linking via one of the category tags, you sometimes have to wait 1 or 2 seconds before the page transitions. This isnât crazy since we have to fetch the data from our database, render the page, and then navigate toward that page.
I even thought that the page wasnât responding a couple of times until it navigated me to the right page shortly after.
To counter this, I already implemented better caching strategies yesterday. However, I also wanted to add a loading indicator, so if a page isnât cached yet, people still get good feedback that something is loading/happening.
I used a library called nprogress and implementing it was a breeze. You can check the changes via the commit here. Now every time a route change event happens, the user gets visual feedback that we are loading in the changes.
Updating the filter button.
Yesterday I asked everyone to test the living đ© out of the website. A recurring piece of feedback I received was;
âWhen I tested your site, I wasnât sure how to remove the filters for a while. Then I finally found the cancel icon towards the end.â
This was something I had to fix before launch. I want my users to browse the affiliate programs without obstacles to finding their ideal affiliate program. And if you donât know how to clear a filter, well... a user will get frustrated and might not come back.
I redesigned the icon with my chat (viewers on Twitch) to be a button. This way, itâs more visible, and now it also shows the text âclear filters.â I also ensured that the button now only appears when the user has at least one filter enabled.
To ensure the UI stays consistent, I also changed the âclear filtersâ button of the âno results foundâ message to be the same.
And as someone mentioned in chat, âNow itâs production-ready!â đ
UI improvements â
While testing the website myself, I again found a couple of things that I wished looked slightly different. So I added them to the âbeta feedbackâ list and worked on them today!
Updated the category tags.
I am going to be honest, no feedback or science here. I just didnât vibe with the gray color of the filters. It just didnât fit the program rows.
After playing with the color pallet a bit, I decided to make it a lighter shade of our primary orange color. I do think, but I might be biased, that this puts a little less emphasis on the categories and more on the information about the affiliate programs as opposed to the gray color.
Towards the end of the day, I also noticed that the category tags' font was quite bold on Safari and Firefox. When I checked my code, I noticed that I used the medium font weight, which is a bit much for small text. I updated the font weight to normal, and now everything looks crisp again!
Decreased the height of the submit program container on mobile.
What is cool about Typeform is that once you click âstartâ on mobile, the form transitions to full screen, making it easy to fill out the form.
When testing out the âpost your programâ page, I noticed that on mobile, the form was taller than the actual viewport pushing the start button far down the page and adding a lot of useless white space to the page.
After tweaking the height of the container, we got rid of the useless whitespace, and the start button is now way easier to find.
I added the legal pages! đ
One thing blocking launch was that I didnât set up the terms and privacy pages yet. I know they are boring, but you got to have them when you sell your services online.
While adding the content for the pages, I needed to make a couple of styling changes.
The first styling change was that I wanted the page's headers to be shorter since the page's titles were only a single line (terms and conditions & privacy policy). I updated the defaultLayout component to take an isSmall prop (great naming! đŹ). This way, for some layouts, I can now make the header shorter so it doesnât look odd.
The other styling change had to do with the contents of the page. Since I am using TailwindCSS, my text doesn't have any default styling. What I usually do for these kinds of generated text is add a .WYSIWYG class to my CSS, which I apply to the parent of the text.
While doing this, out of habit, I nested the CSS. Of course, the compiler complained, but not in a bad way. It for once told me, "look; you can do this; I know you want to, but you have to set up a plugin." After a quick look at the provided documentation link, I was happy to find that all you have to do is update your tailwindconfig.js file and include the tailwind/nesting plugin, which comes bundled with Tailwind.
And boom! đ„ Nested CSS support and two good-looking legal pages.
Ready for launch! đ
As you might have seen on my Twitter, I removed the âbetaâ tag, and we are now at version 1 of useaffiliates.com. đ„ł
I am still working on a launch plan, but looking at my calendar, weâll probably launch next week! In the meantime, feel free to share the projects with your creator friends and communities, and hopefully, someone will earn some money via finding an affiliate program that fits their content.
Now I will work on creating all the necessary content and media for the âofficialâ launch.
Thanks again for reading this build log, and I hope to see you on launch day!
If you want to stay updated in the meantime, give me a follow on Twitter.
With love,
Twankrui