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

19-02-2022 | 10 min read
Doubts and frustrations - a recap of week 7 of building 12 projects in 12 months

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 continue the bookmarkbear project, but I will have an answer pretty soon. In this post I will take you through my emotional rollercoaster.

Day 43

I had a great day relaxing, recharging my battery. With a full-time job, a wife and kid, social responsibilities and this side-project going on, I start to notice that it drains your energy. Taking it easy from time to time isn’t a bad thing, it keeps you focused on your goals. I rather work 1 day with full focus and energy than working 2 days with half the focus and energy. So I met up with friends, went out for an early Valentine dinner and just enjoyed some casual TV. I went to bed earlier than usual so I would be ready to go with a full battery in the week that was about to come.

Day 44

I got up early, that’s the benefit from going to bed early. I’m a real morning person, my most productive hours are in the early hours of the day. If you hate mornings, can’t get out of bed, then by no means should you try to change that. If you are most productive later on in the day or even during the night, find a schedule that works for you. But like I said, I’m a morning person so I got up early and dived straight into coding. During my breakfast I had set myself a few goals. I wanted to get the registration done, the login functionality and the logout functionality. 

By splitting the tasks into smaller portions it makes me feel more productive. Instead of saying: “I want to complete the user flow” I broke it up into fragments. Registration first, logging in next and last logging out. I’m still learning the basics of Next.js and Supabase but with some tutorials I managed to get it all working.

Day 45

I started the day with writing down a todo list for that day. I have to do this more as it really helps working in a structured way. Every time I wrote a todo list I was able to really go through it step by step, however I do this too many times just in my head. With all the things going on during the day, it’s easy to lose concentration and focus, so the things I’m planning in my head don’t happen more than they do happen. 

With the working registration, logging in and logging out, I wanted to define the way the user would sign up. At that time I was thinking about implementing Stripe and a paid plan, but in which stage would the user be connected to Stripe. During registration or after signing up or something completely different. I took some time figuring it out but without a clear answer I started to question whether I would want a paid tier from the start. As it would just be an MVP, the functionality will be very basic. I decided that I would leave the Stripe integration for now, no paid plan, no hassle. It makes the flow easier, just sign up, log in and you’re ready to go.

I then worked on the API call to add a bookmark, which is basically the foundation of the app. Adding a bookmark title and URL was the main priority, tagging would be added afterwards. I created the API call and was able to store data in the Supabase database. There is still room for improvement, but for now it does what it needs to be doing. 

The next API call I worked on was the API call to get all bookmarks. With the option of storing bookmarks in the database, of course there should also be a possibility to get the bookmarks from the database. As this is my first time using Supabase I spent quite some time reading up on querying the database and the stuff that you can do with it.

In both API calls I used a hardcoded user ID, which of course will need to be changed to the actual user ID of the user using BookmarkBear. Although authenticating a user is working, I struggle with the way to keep the user available throughout the application. Guess I need to be reading more on that subject as well.

I ended the day with 1 thing on my todo list that I didn’t do, sketching the basic layout. Or at least, that’s what I thought would happen. I was already shutting down my computer and publishing the tweet about that day when I decided I wanted to cross off all things on my todo list. So I left my PC on, opened my favorite sketching app (MS Paint) and quickly sketched out some of my thoughts on how the app would look like for the MVP. This is another convenience of putting together a todo list every day. You want to reach your goals, so you want to cross off all items. It keeps you accountable for the work you are doing each day. I went to bed more satisfied than I would have knowing I didn’t complete all todo items.

Day 46

For the last couple of days I was thinking about a unique selling point for BookmarkBear. I knew just storing URLs isn’t going to be enough, so I wanted something else. I checked some of the bookmark managers and I noticed only a few were taking screenshots of the URLs that users are storing. I decided to make that my unique selling point for now and perhaps change or expand that later on. 

With that decision being made I spent a lot of time looking for ways to take screenshots of the URLs that are being stored. The main challenge here is that many websites will show a cookie banner or other popups that get in the way of the actual website. Looking back now, I shouldn’t have spent so long on figuring out how to solve this. In fact, I don’t even know the answer at this moment so I should have been more focused on the most important part.

One thing I also worked on today was creating a bookmarklet. As I’ve struggled with creating a Chrome extension I was looking for another way to store bookmarks. The bookmarklet will open up a page through JavaScript and send the information to the create bookmark API call. 

Day 47

I had planned on working on the functionality to add tags to the bookmarks and if I got to it add some basic styling to the created pages. However, things don’t always go as planned. With the issues I had the day before, I couldn’t stand the fact that I couldn’t come up with a solution to get past those cookie banners. So instead of focussing on the work that needed to be done, I went back to researching and looking for ways to get this problem solved. 

Without any progress being made I spent literally hours, hours that I should have spent on adding functionality and styling. I started to doubt everything about this project. Will I get it done? Will it be enough for people to use? Will I be able to get a Chrome extension? WIll I be able to take screenshots without cookie banners? The list goes on and on and I felt miserable that the project wasn’t going like I planned beforehand. 

Next to that I still had issues with the domain validation in MailChimp, so welcome emails are still not sent to new waiting list subscribers. It all just felt like there was hardly any progress. I gave myself 1 month for each project and by the looks of it I won’t be able to make it this month. The last 4 days of the month I will be away from home without access to my computer, so everything needs to be done by the 24th of February. 

I started to think it might be better to cut my losses, stop the project and focus on next month. Think of the ideas, which one to execute and already start forming a plan. It was time for a good night's rest and some time to evaluate. Just before putting away my phone I got a DM on Twitter from @JacobBeckerman that had read my tweets and offered to help. I sent him my questions and he responded with some great feedback and possible solutions. I started to get some hope back.

Day 48

A good night’s rest and an early gym session gave me some time to get some new energy and think about the future of this project. I read the DM from Jacob again and was excited to start the work. Before starting on the Chrome Extension, I had a quick look at MailChimp. The domain still wasn’t validated, but the day before I reached out to my domain supplier and this morning I got a message back. As it turns out, since I had changed the nameservers to the Vercel nameservers I also had to add the DNS settings in Vercel. After doing that, it was literally a matter of seconds to get validated in MailChimp.

The next thing I did was register for the waiting list to see if the welcome email was sent. Unfortunately I didn’t receive the welcome email, so something might still go wrong. That will be a concern for later. I really wanted to get to work on the Chrome extension.

I put together some logic which would add an iFrame to the website when you click on the browser extension icon. So far so good, but I also need to get the URL and title of the page I’m visiting. Can’t get my head around it yet so I’ve reached out to Jacob once more.

I didn’t have a lot of time to work on it today, but with the progress that I made I see a brighter future for this project. At the beginning of next week I will try to focus on the app itself more, building the entire flow, connecting everything together. I’m still not sure if I will be able to make it in time. I might decide to reduce the number of projects I will do in 12 months, or perhaps focus on this project for 2 more weeks and then do a smaller project which would cost me 2 weeks to build. I’m not sure yet, we’ll see how it goes.

Day 49

Got up early this morning to continue the work on the Chrome extension. Yesterday was a great start as I managed to get more results within 2 hours than in 2 days at the beginning of the month. I haven’t received an answer from Jacob yet so I decided to research more and more to see if I was able to get it working myself. I’m still struggling with the functionality, so for now I leave it like it is. I realized the Chrome extension isn’t the most important part right now, but for some reason I find it difficult to really focus on the most important stuff if other things are not working like I want them to.

Starting tomorrow I will focus fully on the app, trying to create a todo list every day. The rest of this day is family time, so after writing this blog post I will turn off my computer and enjoy the weekend.

Online Presence

The goal from last week to check out IndieHackers more and interact with people there failed miserably. I was so busy focusing on the work that needed to be done that I didn’t interact at all. I believe I opened up the IndieHackers website maybe once this week. It’s hard to keep up with other people on various channels with the limited time I have. 

My Twitter followers grew with 72 people which is amazing thinking about it. I only have 224 followers at this moment. That’s an increase of almost 47,5%! I’m really pleased with that and it just shows that consistently tweeting will get you more followers. I don’t tweet magical stuff, I don’t tweet popular stuff, I just tweet about my progress, about the things that keep me busy. But I do tweet at least 3 times a day.

Over the last 7 days I got over 9200 impressions. As I don’t look at others, I don’t really know if this is good, but I think over 1000 tweet impressions each day is amazing. I think this will increase more and more as I keep sharing my journey, my ups and downs consistently.

Thank you all for reading my blog post. If you’ve liked it, send me a DM on Twitter to show your appreciation. My DM is always open. 

Next post

Last week of February building in public

02-03-2022 | 8 min read

After ending the last week with some doubts about whether I would continue the project, I decided to still go for it. With some help from Jacob, through Twitter, I spent time on the C ...

Previous post

Week 6 of building 12 projects in 12 months in public

12-02-2022 | 8 min read

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 ...

Back to blog