[Week 1] Setting up the foundation

[Week 1] Setting up the foundation

2021/12/17 - 2021/12/24

·

4 min read

Background Story

My name is Wei Zhe (Marcus) from a little village by the beach called Dungun in Malaysia. I am a self taught developer and have been working in the software field for about 2 years now. After reading stories of indie hackers bootstrapping their companies on Twitter, I was pumped and motivated to try it myself too. And here I am, documenting my weekly progress while bootstrapping a product that I am passionate about :)

The Foundation

Even though I am working at an early stage startup where I have a lot of hands on experiences on building product from scratch, but I have never do it by myself before. Below are a list of foundations (not code related) that I think I needed to get my product up and running on the Internet!

1. Domain

I have never bought a domain for myself before this. After some researching, I decided to go ahead with Namecheap and bought my very first domain. The process was pretty seamless and easy to setup, and I paid RM 17.20 (US$3.98) for the first year. I could handle the DNS, SSL certificates and etc. with Namecheap itself but I went ahead to use Cloudflare instead for the job. Cloudflare offers a very generous free tier which I am currently on, and again, the setup was also straight forward and well documented.

2. Email Hosting Service

Now that I have a domain, I also need an email host to send mail from the domain that I have just bought. For this job, I chose Google Workspace, it costs me RM20/month and comes with additional features that I find useful like 30GB cloud storage and 100 participant video meetings.

3. Payment Provider

For payment provider, Stripe was that one that came to my mind first. After some reading on how solo founder handles payment for a SaaS product that sells globally. It is interesting to know that making the business tax compliance is one of the major pain point. Stripe recently released the Stripe Tax feature, but it seems like they only handle the collecting part, I still have to do the job on tax filing and remittance myself. An alternative suggested was Paddle. I haven't reach the stage of building the subscription feature for my app, but as for now, I am more inclined towards Paddle mainly because of how it takes over the job on tax compliance.

4. Hosting Platform

Heroku is definitely one of the famous choices for the job but I went ahead with Render. I actually got started with Heroku but after experiencing some slow page load and figure out Render offering some generous free tier which I can use before I make it to production, I decided to give it a try. You can't imagine how many hours I have spent figuring out what's wrong with my code causing my app running like a snail. To be honest, I am still not sure why my app was running that slow on Heroku, but things are fine on Render. I can now feel the speed and snappiness of my app hosting on Render. The setup wasn't as easy as Heroku, but it's well documented and they have a great forum for me to explore. I am a happy customer of Render now.

5. Additional Tools

Tools here are for management purposes. As of now, I am using Linear for product management and Slack for integrations notifications like when a new subscription happens, an error on production and etc. Both of them offer generous free tier to use!

The Logo Design

Now that I have the foundations figured out, I use the rest of the week to design myself a logo. I have not done any logo designing work before, and after a lot of trials, I am pretty happy with what I have now. The tool that I used to do all the designing work is Adobe Illustrator and I actually quite like it!

Next Week

That's all for this week, next week I am going setup the app itself, and if you are curious, I am going to use Ruby on Rails 7.0 with Tailwindcss for the app. Yes I know, there are a lot of other stacks out there, but I am pretty happy with Ruby on Rails and super excited on the version 7.0 release with the new way of doing front end. Thanks for reading, and wishing you a very good day!