Week 6 of building 12 projects in 12 months in public

12-02-2022 | 8 min read
Week 6 of building 12 projects in 12 months in public

The focus for the past week was on getting the landing page up and running and diving into a new tech stack. Numerous YouTube videos have been watched and blog posts by other developers were read. For my first SaaS project, bookmarkbear.com, I wanted to change from tech stacks. From C#, .net, bootstrap and MySql, which I've used for my personal website, to something else. In the following day-to-day summary I will describe my research, my decisions and my progress from the past week. 

If you have no idea what I'm doing right now, you should definitely read my first blog post. If you have followed me longer, read on as we start with day 37. 

Day 37

The week started off with the news I had been expecting, I tested positive on COVID-19. I felt a bit off, but wasn't experiencing a lot of symptoms, so I didn't feel really ill. As I didn't finish my last blog post on day 36, I spent time finishing that blog post first. I'm really pleased with the progress in speed I'm making so luckily I had some time left this day. 

Normally Sunday is family time, but as I got a positive test result I had to stay in quarantine. My wife could go out, so she wasn't home for the larger part of the afternoon and evening. This gave me some more time than usual, time I spent well working on the landing page. I was able to complete the first version of the landing page and publish it online. For some reason the welcome email isn't sent by MailChimp when someone subscribes to the waiting list. I didn't have time to resolve the issue today, but the most important part was that the waiting list signup form was working. I waited with changing the domain name, so I had time to resolve the MailChimp issue. 

Day 38

I started the day focusing on the MailChimp issue but I soon realized it would take more time. MailChimp needed to validate some DNS records, which I added after finding out how I could do that. Unfortunately it takes some time before the domain is validated, so the welcome email still isn’t sent out to new subscribers. Ah well, not much to do about it for now, so might as well focus on the stuff that I can do. 

I decided to publish the landing page on www.bookmarkbear.com for everyone to see. It was far from perfect, but I wanted to launch as quickly as possible. Improvements to the landing page will be done later. Last week I designed a logo, but I decided to publish the landing page without a logo as a colleague of mine during my full-time job offered to create a logo for me. Of course I agreed to this, as I know for sure I wasn’t able to create a logo as good looking as she could.

Then it was research time. Building a bookmark manager means I will need to find a way to easily store bookmarks. A browser extension was the first thing that came to mind, so I researched Chrome extensions. I believe Google Chrome is used more than Firefox, so for my MVP a Chrome extension would do. A Firefox extension could always follow in a later stage. Since Google launched manifest v3 a lot of things have changed and I’m struggling to find good resources on how to set up a Chrome extension that has a login form so a user could log in to my website through that extension, in order to store bookmarks in their user account. I spent a lot of time researching Chrome extensions without actually making some kind of significant progress. 

Day 39

As I didn’t make any significant progress on the research for Chrome extensions I decided to leave it for now. Instead, I want to focus on the app, which would be the most important part of the SaaS. There are more ways to add bookmarks, so I wanted to make sure I was at least able to do so through the app interface. But before I started working on the application, my colleague got back to me with the logo. I think she did a wonderful job and I was really excited to update the current landing page with the new color scheme, new logo and new layout. What a difference!

The rest of the day I didn’t have any time to work on the application, but I did come up with a database schema in my head. I told myself to put that onto paper first thing in the morning, but because I was afraid I couldn’t remember the things I had just thought of, I decided to make a quick note on my phone. My notes on my phone are a great collection of all sorts of stuff that go through my mind. Some people like to write everything down, but I don’t always carry a pen and paper, so my notes on my phone are my pen and paper. 

Day 40

As I already stored the database schema in a note on my phone, I decided I would start the day with some research. I already knew I was going to use Next.js for my app, but I wasn’t sure which database and authentication I would use. I read about NextAuth, planetscale and Supabase. I found a great tutorial about Supabase, which even included a Stripe integration. Perfect for my SaaS, so I went with Supabase.

Before starting work on the app, I put together some user stories. They all look something like this: “As [actor] I want to be able to [functionality] so [reason]”. So for instance “As a user I want to be able to view a list of bookmarks so I can go through all stored bookmarks”. By doing this it allows me to think of all possible functionalities the app should contain.

After this I started working on the database models. Using the note on my phone I was able to quickly set up the database tables in Supabase. It might not be perfect yet, but for now I am able to store the bookmarks, tags and other information I want about the bookmarks.

Day 41

Thursday is always a day where I don’t have a lot of time to spend on my project. I got the tech stack figured out, I will be using Next.js, Supabase, Vercel and probably Tailwind. I want to give a go at Tailwind, but perhaps I will fall back on Bootstrap. I know that Tailwind is powerful but you have to know more about CSS then when using Bootstrap. 

The limited time I had today I spent on putting the basic boilerplate together. A Next.js app that is connected to Supabase, hosted on Vercel. It is so easy to set up and powerful to use that I am glad I didn’t stick with .NET. 

Day 42

The last workday of the week was the day that I actually got some functionality working for my app. I connected the app to the Supabase database and was able to put together a registration form. Filling out the registration form puts a new user into Supabase. Although this doesn’t seem like a big step, I’m really pleased I got this working. Working with new techniques can be scary sometimes, so even the smallest progression is a win in my eyes.

I watched some more videos about Next.js and Supabase to get a better understanding of how things are set up properly. I also watched the tutorial I found earlier this week again, this time at a slower pace, to really see what is being coded. Really interesting stuff which I will use for sure. I will drop the link here for anyone that is interested. https://egghead.io/courses/build-a-saas-product-with-next-js-supabase-and-stripe-61f2bc20

The last thing I did today was think about the unique selling point of my bookmark manager. I’m not even sure at this stage if I need a unique selling point, because the goal of this challenge is to start 12 projects and finish 12 projects. Finishing a project would mean that I have launched it. For now I will just focus on the functionality I know the bookmark manager will need to have, I might think of a USP later on. Building a SaaS also means that you are building an MVP that does what it needs to do, with the possibility to pivot and implement new features. 

Day 43

Today was a family day. I finally got out of quarantine after the positive COVID-19 test a week ago. Luckily I didn't have a lot of symptoms, but being restrained indoors is never a great feeling. We spent some time shopping and went for a nice but cold walk. It was nice to go for a walk and clear my head. It was a busy week at my full-time job, I gained lots of information for my project and have been busy setting up the basic structure. I didn't spend time coding today, but I have written this blog. For next week I want to try to start the blog post early in the week and add more information throughout the week. That way it won't take up too much time on Saturday and I will be able to do some coding as well. 

Online presence

I grew my Twitter following to 197 followers. Especially last week I saw a big increase in followers. I think this has to do with the fact that I've consistently been tweeting from the start of my challenge until this day. While working on BookmarkBear this month I also started to tweet more about building a SaaS so that probably also attracted some new followers. 

I’m pretty sure I will greet my 200th follower in the upcoming week. I'm really pleased with this number, as I didn't think I would reach 200 followers this quick. 

A quick look at my statistics regarding my blog posts tells me that my blog posts are overall read a bit less each week. I will still continue writing my posts as I'm also using it as a way to reflect on the progress I've made and the growth I've been through. 

Thank you all for reading! If you are not following me on Twitter, make sure you do, I am sharing more valuable content there. Please share this blog if you think it’s valuable and other people should start reading it too. If you have any comments, feedback or questions feel free to reach out on Twitter.

Next post

Doubts and frustrations - a recap of week 7 of building 12 projects in 12 months

19-02-2022 | 10 min read

Based on the title you would assume I have a pretty bad week. It didn’t start as bad as the title might look, but it ended with doubts and frustrations. While writing this I’m not even sure I will con ...

Previous post

Building in public week 5 - 12 projects in 12 months

06-02-2022 | 11 min read

It felt like this week passed by in a heartbeat. It was the last couple of days in January in which I finalized my first project and the first couple of days of February in which I started working on ...

Back to blog