Tweet
Friendly reminder: focus!

Yesterday, I spent way too much time playing/ struggling with an emoji picker component.

...instead of concentrating on getting the basic Tweet editor I was working on up and running. Don't be like me! 😑

#buildinpublic
Quick update on my LinkedIn post performance around my new freelance career.

The next two performed significantly worse than my first one.

Possible explanations:
👉 Technical topic, less "personal"
👉 Vacation time
👉 German LinkedIn 😉

#buildinpublic
Time to add engagement features to Birdspotter's search results.

Introducing the "like" and "retweet" options.

Next up: reply and quote tweet.

#buildinpublic
Let's do this a little differently.

It's Monday and by now, you should have seen about a dozen "what are you doing" tweets. I'll ask you the same.

👉 What are your goals for this week?

And next Sunday, I'll come back to you and we'll see how your week went.

#buildinpublic
Yesterday, I started a new personal blog. Writing was way easier, because it's something I'm very passionate about.

And again, at about 600 words, I felt the post was complete.

I have notes for more than 30 more posts of that size. Let's see what Google thinks.

#buildinpublic
It's interesting how often one sees the statement that freelancing is an "easy and predictable" option in your indie portfolio.

It's not.

It's a product and a business like any other. With all the dependencies, ambiguities, volatilities, chores, and problems.

#buildinpublic
Friendly reminder: you don't have to code everything yourself 😉

Today, I almost coded some nasty OAuth authorization and signature stuff from scratch.

Then I found ScribeJava and productivity went all 🚀

#buildinpublic
Well, yes, there is a difference between Twitter and LinkedIn.

Yesterday, I posted my first serious text on LinkedIn to announce my new job as a freelance consultant.

Let's look at the numbers 👇

#buildinpublic
"What are hundreds of stored results good for if I can't search them?"

Always listen to your customers, they'll tell you what to work on next 😅

Introducing result search for Birdspotter 🔍

#buildinpublic
Do you know a service that provides a RSS feed plus an API to fill it?

Zapier is too expensive, Make doesn't act as feed source, RSS[.]com is podcast only, FetchRSS and RSS[.]app only scrape other sites.

And I really don't want to start a new side project 😆

#buildinpublic
Is it just me or are other indie hackers not talking much about their day jobs?

Or put differently: not talking about themselves as a product.

I think I'm gonna change that and will annoy you with posts about freelance bureaucracy and LinkedIn-marketing.

#buildinpublic
Friendly reminder: most likely, there's a simpler solution than the one you have in mind.

In-text search is finally up next for Birdspotter and I instantly thought of Elasticsearch.

Which is just overkill. Because PostgreSQL has a simple text search built-in 👀

#buildinpublic
How to reach a single customer via email?

Stupid question, I know. Hear me out.

I welcome someone to a trial. And also include some hints to get more value out of the product.

No response. And I don't know if it's just no answer or the spam filter.

So...?

#buildinpublic
Transitioning from 15y of employment to a new freelance career takes up more resources than expected.

At least my new, personal landing page is up. A lot of bureaucracy is still ahead.

Some bugfixes for @Birdspotter_net are live as well.

#buildinpublic
When you're using your own product, the great thing is that you spot annoyances yourself.

Even if it's the small things. Like, when one additional button saves you two clicks.

#buildinpublic
Until recently, Birdspotter only notified users of new results via email. Now, all recent finds are also browseable in the web app.

So obvious in hindsight. Yet I chose the fastest way to ship and developed this only after concrete customer requests.

#buildinpublic
Some weeks ago, I got an unsolicited email from a copywriter, telling me that my landing page copy is extremely bad.

Well, that's true.

Yet this opening kept me thinking for several hours. I was angry. And I was wrong.

#buildinpublic returns
Time to end the current "marketing cycle" for birdspotter.net

✅ Write new blog post
✅ Enrich old post with links
✅ Work on landing page copy
✅ Show testimonials 😀
❌ Find new channels

Next up in the build cycle: implement customer feature requests.

#buildinpublic
Twitter API tip of the day: avoid connection pooling.

Until recently, I got "connection reset by peer" and "connection prematurely closed before response" errors multiple times a day.

After I disabled pooling, I'm down to one in 14 days.

#buildinpublic #lfmf
This concludes the "build week" cycle.

Next steps in "marketing week":
- Write new blog post(s)
- Enrich old post with links and images
- Show testimonials 😀
- Work on landing page copy
- Find additional marketing channels

#buildinpublic, getting to 10 paying customers.