Back
Hwee-Boon Yar

Hwee-Boon Yar
PRO

@h_boon

Building theblue.social Write software TypeScript (web) + Swift(iOS+macOS) Remote since forever hboon.com/about
15
62
Joined February 2018

Some examples I have either used it for previously or would like to in the near future:

more traditional analytics stuff:

  • clock a +1 for signups (StatHat gives a good, simple graph for stats like this, with time as x-axis)
  • clock a +1 for user activation
  • clock a +1 for click to use a particular feature

I know some or all of the above can be done with analytics systems like Mixpanel, but they'd usually a little heavier for these and demand a little more investment in terms of designing what to log and removing them when I'm done with those stats. Something like StatHat is just easier in some cases.

More counters or logging territory (but without attaching an object to log):

  • clock a +1 for hitting some potential hotspot in the code
  • clock a +1 for hitting some potential error path in the code that I'm not sure happens enough to be worth handling more elaborately

I've used DataDog for this (so I suppose BetterStack and friends too) support this pattern of logging and then configuring a widget to show a summary based on log patterns and extraction from json object in the logs.

systems-like stuff:

  • CPU usage
  • RAM usage

I might not use this anymore since I default to Render (and Digital Ocean) now and they cover this. But it might still be useful since I use 2 providers, to have it in the same dashboard.

About BetterStack, can it basically do something like this:

I've used DataDog for this (so I suppose BetterStack and friends too) support this pattern of logging and then configuring a widget to show a summary based on log patterns and extraction from json object in the logs.

Say I log this output:

some error at home: <an error message> object: {"foo":"bar", "count": 99}

Can I configure a widget to display by the pattern "some error at home" and extract and sum the "count" field into an aggregate?

When I look at betterstack.com, the "Compare" list at the bottom are all some form of uptime monitoring or status page (disclaimer: I build a monitoring tool too, but it's not my current active project).

  1. Yeah I'd use an analytics product to track user activations/signups/etc. You can also simply log "User signed up" and use BetterStack to graph the data.

  2. CPU/RAM - you can export these kind of metrics to betterstack. There are integrations for AWS etc

  3. Yes you can configure widgets and charts to display error count and such.

Will check out BetterStack. Thanks.

If you call it a lifetime deal, customers are naturally/reasonably going to expect it to last while the product is alive. So this doesn't make sense:

launched my LTD with a 1year support

If it's a 1 year subscription or support, call it so, not a lifetime deal.

ed: It's common to price at lifetime deal internally as based on 1 or 2 years LTV, but it's still a lifetime deal.

The idea is that they'll be able to get updates, and use it as long as I work on it, but I don't want to be legally obligated to do it forever

As a consumer, I assume "lifetime" means the life of the product, not YOUR lifetime.

It's a risk on both the consumer and creator side, especially for a new company.

Ex: I bought a $70 LTD for a product called BlitzIt instead of doing the $5/month subscription. It could go under or disappear next month, and I'd be shit out of luck. Conversely, the company can last decades, and they'll provide updates and whatever support required for early adopters like myself.

I'm someone who tends to scream about products I like to everyone, so I've already gotten them over 20 new customers, so it balances out with me. But it's still a risk for them to sell LTDs -- whether they succeed with this product (and need to support someone who isn't continuously paying) or they go under (and lose all trust with current customers and need to tap into a new market they haven't burned).

It's your decision based on what's important to you, your goals, and your audience.

I like rewarding people who jump in early because they can become my brand advocates and help me create a better product through feedback and testing, but I make a LIMITED lifetime deal so if they miss the window, they'll have to pay either monthly, quarterly, or annually.

Thanks for chiming in, Cat! I'm perfectly fine with it being lifetime of the product, not my life time haha

The people who think it's the creator's lifetime are delusional 😂 I don't think I know anyone who's that obtuse to think that.

I'm sorry; I think I must have counted wrongly.

What I thought happened was it was stuck at 8 for 2 more days when it should have gone up to 10 2 days ago (so 12 today). I thought so because I happened to be looking at the counter when I posted an item and it didn't update, so I refreshed the page to be sure.

But I just noticed that I might have broken the streak 10 days ago. Bit strange. Maybe it's me.

Seconded! Also, you can usually tell once you have customers/users and some will ask/demand for other options

Depends on where you are at.

I'm at the moment where I want to get traction on (any) one of my projects, so I start one, give it a bit of time and see if I can validate it, if not and I don't think there's something obvious I can do, then I keep it running and start another one. I will occasionally come back to tweak or fix a project based on feedback/things I learnt, etc.

PostgreSQL. I briefly considered SQLite. It might not actually be less infrastructure for my setup since I run on Render. So it'd be their Postgres service vs sqlite+their disk mount service (+ figure out how to back up). Using their Postgres service means it's usually their problem to keep it up :)

Drizzle work is mostly the same whether it's Postgres or SQLite.

But I'd pay more of course.