Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]

More from I Have No Idea What I'm Doing

6 pricing A/B tests I’ve run (and which ones worked)

How pricing experiments helped me reach $6,000 MRR

a year ago 112 votes
Getting to 19,000 monthly clicks: Everything I've learned about SEO as a beginner

It’s been a while since my last post! Since then, I’ve been focusing on growing Remote Rocketship. I’m super excited to announce that it’s reached $2,000 MRR! 🥳 You may recall from the last post that I mentioned that the only sustainable channel to grow the website is SEO and that I was learning how to do it from scratch (and it’s now getting 19,000 monthly search clicks!). In this post, I want to share everything I’ve learned about SEO and how to approach it. In doing so, I hope you’ll also share your tips and help me fill in any gaps in my knowledge!

a year ago 105 votes
A New Project: Remote Rocketship 🚀

In my last post, I talked about how I going about searching for a new idea to work on. I’ve now landed on Remote Rocketship, a job board for remote roles. In this post, I’ll talk about how I got there, what I’ve been up to and how I’m thinking about moving forward.

over a year ago 96 votes
A Summary of My Learnings On How To Find Startup Ideas

I’ve been searching for new startup ideas and problem areas to tackle. It’s quite difficult to do, especially when you begin adding constraints to the criteria such as “Am I excited about this problem space?”. The internet is filled with helpful ways to come up with startup ideas and below is the summary of what I’ve learned on the topic during the last few months.

over a year ago 105 votes
Working on a new idea, and then discarding it

Over the last month, I’ve been exploring a new idea in the cold outbound sales space. The idea is to generate personalized cold emails at scale using AI. Currently, there is a trade-off between quantity and quality when it comes to sending cold emails: Either you spend lots of time researching a prospect and crafting a personalized email, or you send generic emails in bulk to a large group of people. Naturally, the response rate for personalized emails is much higher than the generic ones, so I’ve been looking into how to do this at scale.

over a year ago 93 votes

More in indiehacker

Beehiiv vs ConvertKit - the best newsletter software for 2025

Beehiiv vs ConvertKit is a fierce clash of two newsletter software companies. I'll go over differences on pricing, features and lots more.

3 days ago 10 votes
OnlineOrNot Diaries 24

Looking over last year, and a first incident for 2025.

a week ago 16 votes
How to Resolve Local Hostnames in OPNSense

My router runs OPNSense Business. I like having an open-source router, but I have a few gripes with it. My biggest issue is that, by default, OPNsense can’t resolve hostnames on my local network. Why can’t OPNsense resolve local hostnames? For every other router I’ve owned in my life, if there’s a computer on my network named foo123 and I run ping foo123, then everything just works, and my computer successfully pings foo123.

a week ago 22 votes
Living the digital nomad dream in Bangkok

Jesse Schoberg has an enviable life as a founder working from Thailand. He enjoys a great lifestyle at a fraction of the price back in the US. I chatted to him about growing his DropInBlog business into a SaaS success story. Why did you become a founder? My brain doesn&

3 weeks ago 36 votes
if got, want: A Simple Way to Write Better Go Tests

There’s an excellent Go testing pattern that too few people know. I can teach it to you in 30 seconds. Instead of writing Go tests like this: // The common, unrefined way. username := GetUser() if username != "dummyUser" { t.Errorf("unexpected username: got %s, want: %s", username, "dummyUser") } Write your tests like this, beginning each assertion with if got, want :=: // The underused, elegant way. if got, want := GetUser(), "dummyUser"; got != want { t.Errorf("username=%s, want=%s", got, want) } The if got, want :=: pattern works even better in table-driven tests. Here’s an example from my library for parsing social media handles:

3 weeks ago 37 votes