Back
Marc Köhlbrugge

Marc Köhlbrugge
PRO

@marc

Maker of WIP. Building various other projects as well. Writing book about domain names.
4
39
Joined September 2017
Load previous page…
  1. Goal: stop spreading myself too thing by working on too many projects at once and not getting much done on any.
  2. Inverted goal: Spread myself even thinner. Work on as many projects as I can
  3. Achieve inverted goal: keep starting new projects, pursue new ideas, don't review the things I can improve on my current projects
  4. Achieve actual goal: avoid starting new projects until I finish current ones, don't pursue new ideas that don't push my current projects further, create a tangible overview of things I can do to improve my current projects, so when I feel the temptation to start something new, review this list instead and pick one of these things to work on

Yeah I don't do lifetime deals. I think it attracts the wrong customer (= wrong product feedback) and sets the wrong incentives.

Come to think of it, I think it also comes across as dishonest to offer lifetime deals. I mean, I can barely predict what I'm doing over the next 5 years let alone the next 50 years.

When I'm 83 and (probably) have a declining mental state, am I really going to want to or be able to ship features for someone I promised a lifetime deal to 50 years ago? I think not heh

  • Start low enough to get some customers (= useful feedback)
  • Once you have enough traffic, test different prices to see where expect value drops too low (conversion rate × revenue per customer goes down)
  • Focus on recurring revenue to ensure your goals stay aligned with your customers (lifetime deals create perverse incentives)
  • See @jelmerdeboer's yelmair.com for a similar journey

Best of luck!

Thanks for your feedback Marc!

I'm curious, do you always launch your products with subscriptions first?

I've thus far ignored the common indie hacker advice of "launch with a one-time payment then MAYBE move to subscriptions" just because I find the one-time payment thing not very motivating.

In other words, if someone only pays once and expects me to update the app forever, I want to get paid for each additional update and not get taken advantage of. I suppose when I was growing up I was taught "never ever work for free" and giving away a lifetime of updates feels a lot like working for free, so it just feels "wrong."

The one exception has been #simpleotp where I have people pay once for the source code. But the expectation there is that there's only basic support provided and they need to host everything themselves, so it hasn't really been much of a burden.

Yeah I don't do lifetime deals. I think it attracts the wrong customer (= wrong product feedback) and sets the wrong incentives.

Come to think of it, I think it also comes across as dishonest to offer lifetime deals. I mean, I can barely predict what I'm doing over the next 5 years let alone the next 50 years.

When I'm 83 and (probably) have a declining mental state, am I really going to want to or be able to ship features for someone I promised a lifetime deal to 50 years ago? I think not heh

Ugh. That is weird.

Not sure you can do anything about it. Also not sure if it's a targeted attack, or they are just creating fake activity to make these bots seem more real.

Maybe best is to just sit back and avoid investing too much into your IG account to see what happens next.

Yeah I'm not sure if gaining tons of followers can even be considered an attack, I mean, many people probably dream about it lol. But I don't care much as long as it's not harmful in any way I guess 🤷‍♀️

Thank you for your honest feedback ❤️

A few hours after writing the post I took another look at the usage data and the added code complexity. I realized two things:

  1. Recent usage of this feature is even lower than I initially thought. Near zero
  2. The added code complexity was way more severe than I thought

Although it’s unfortunate for the very few people who did use it, I don’t think it’s fair for the whole community to bear those costs in terms of slower product development.

Considering all that, I chose to move forward immediately rather than wait for additional community input. The usage data said it all.

I have the tendency to overthink these types of changes rather than bravely move forward and make progress. This was me trying to do better, but it actually may have been wise to hold off and give you and the couple of other users who use this feature to share their perspective.

My apologies I didn’t do that.


With regards to todos setting WIP apart, I agree. I LOVE that people share the actual things they have done rather than random posts. That’s the reason for WIP’s existence.

I made the Twitter reference as an admiration to the simplicity of their product. I think we can learn a lot from that, but that doesn’t mean we need to become exactly like it.

When I say we can merge todos/posts/comments into the same record type that’s more of a comment on technical implementation, than UX or product. For example right now I have implemented comments twice, once for posts and once for comments. Same with notifications and a few other things. The more code they can share the simpler the codebase, the faster we can add other features people are asking for like better privacy controls, a nicer API for third-party integrations, etc.

Hopefully that addresses your concerns about the future of WIP.


With regards to the pending todos functionality, I haven’t actually deleted them from the database and I am in no rush to do so. The email was intentionally written a bit “alarmy” so people who care would take action sooner than later.

The changes I made to remove the functionality can be reverted relatively easily. But for reasons shared above I still think the right decision is to remove it, even if I didn’t plan and communicate it properly.

Given your 200+ pending todos, I understand your frustration. If there’s anything I can do to help move you these to a new platform I’d love to help. I can export them in any format. Personally I use Telegram’s “Saved Messages” feature for this and it works very well.

Yes I think there's many opportunities to improve the pending todo system. The challenge is that everybody has their own preferences so whatever solution I'd come up with would appeal to only a percentage of users.

So I think indeed making it easier to integrate with other systems by improving the API and documentation around it, might be the better way forward.

Yep, makes sense. All for better APIs and let people build whatever

Hi Aya, welcome to WIP! Great to have another AI builder in the community.

Let me know if you want an invite for your husband too, and we'll get him on WIP as well!

For context, here's some of the code I could remove/simplify:

  • Remove "completedat" timestamps as it will be same as "createdat"
  • Remove conditional rendering completed vs pending
  • Calculating streaks just looks at created_at timestamp
  • Remove todo checkbox (would still show checkmark, but not interactive)
  • Remove Telegram integration for showing pending todos
  • Remove API end point to create a pending todo
  • Remove API end point to complete a pending todo
  • Remove sorting of pending todos (completed todos are sorted by completion date)
  • Remove tracking which team members completed a todo separately from who created the todo

This also gets todos closer to posts and comments in terms of functionality. Longer term I might want to merge these all into the same record type so it's more like Twitter where everything is a tweet. This would greatly simplify the codebase and UX.

Yeah, it feels like the pending functionality would only be useful if people used this site as a TODO list. It's not really the case as I often think "what did I do today/5 mins ago/just now" and then go back and post about it on WIP.

Slightly related: I think I mentioned this before but having a kanban board UI on top of WIP would be nice (that would encourage more people to have pending items I think). Might be able to get away with the Zapier integration today i.e. Notion to WIP sync, or if not I might build this as a free tool at some point using the WIP API

Yes I think there's many opportunities to improve the pending todo system. The challenge is that everybody has their own preferences so whatever solution I'd come up with would appeal to only a percentage of users.

So I think indeed making it easier to integrate with other systems by improving the API and documentation around it, might be the better way forward.

Yep, makes sense. All for better APIs and let people build whatever

Oh, and this is “easy for me to say” but IMO you should stop thinking in average monthly salaries. You’re an entrepreneur. Those types of averages don’t apply to you.

You might have wildly higher expenses and wildly higher income than those around you.

Online businesses are a relatively level playing field. You can compete with someone in NYC where the average salary will be much higher. Your code doesn’t care. Customers don’t care.