HN user

stephen123

110 karma

stephenn.com

Posts20
Comments68
View on HN
stephenn.com 2y ago

Fast Postgres Index Creation

stephen123
2pts0
github.com 2y ago

QueryPulse a database driver to log and monitor queries

stephen123
1pts0
stephenn.com 2y ago

Mastering Database Transactions in Go: Strategies and Best Practices

stephen123
2pts0
stephenn.com 3y ago

Gopher Wrangling: Effective error handling in Go

stephen123
129pts305
upollo.ai 3y ago

A Step-by-Step Guide to Raising Subscription Prices

stephen123
2pts0
upollo.ai 3y ago

Show HN: Upollo – Account sharing and repeat trialing detection tool

stephen123
1pts1
upollo.ai 3y ago

How to win back users who are abandoning your trial

stephen123
2pts1
webhookwizard.com 3y ago

Transforming webhook messages with no code

stephen123
1pts0
upollo.ai 3y ago

Should you offer a free tier, a free trial – or both?

stephen123
2pts1
upollo.ai 3y ago

Stopping fake accounts and boosting your conversion to paid

stephen123
1pts0
webhookwizard.com 3y ago

Webhook delivery retry to improve reliability

stephen123
2pts0
upollo.ai 3y ago

How to convert users that continually repeat trials

stephen123
3pts3
webhookwizard.com 4y ago

Tips for Reliable Webhook Delivery

stephen123
3pts0
www.userwat.ch 4y ago

Preventing chargebacks and growing your online business

stephen123
4pts0
webhookwizard.com 4y ago

Tips for building a reliable webhook integration

stephen123
5pts0
stephenn.com 4y ago

Simplifying Go Concurrency with Futures

stephen123
3pts1
www.userwat.ch 4y ago

Detecting account sharing and repeated trials in Firebase Auth with Userwatch

stephen123
2pts0
www.userwat.ch 4y ago

Turn Repeated Trials into Growth

stephen123
2pts0
stephenn.com 5y ago

Improve Your Scala Compilation Times

stephen123
3pts0
blog.stephenn.com 11y ago

How to write more maintainable code with the angular.js controller as syntax

stephen123
2pts0

What do you do to then query the data? I usually need indexes so queries are not slow. Perhaps I could insert into a staging table then bulk copy the data over to an indexed table, but that seems silly.

That was fun. I like birds but I'm no twitcher, spent a good 10min going through getting better at recognising the sounds.

It would be fun if you could pick a country the birds are from. Australian birds sound silly.

Hi, Stephen from Upollo here.

When I was running a small SaaS, I had lots of users repeating my free trial so they wouldnt have to pay. There was no easy way to stop it. So I joined Upollo to build it :)

We've just added no-code integrations with Segment and Google Tag Manager, so you can find out how much account sharing or repeated trials you have in minutes.

I would love to hear what you think

https://upollo.ai/

Project Description: We help subscription businesses earn more by detecting and upgrading users that repeat trials or share accounts. Eg, when signing up with your work email to get another free week, or giving your password to your friend/co-worker..

What to test: Connect your app/website and see how many users are repeating trials or sharing accounts.

How to test: Sign up, follow the wizard, install our js, ios or android API in just a few lines of code.

Contact: Intercom

Love this thread btw. Thanks everyone

I like manually reviewing users onboarding and reaching out to them. It doesnt scale, but its a great way to actually talk to and hear from users. Once a dialog with a is open, its amazing what issues can be uncovered and solved.

How else are people winning back users who are abandoning trials.

The main difference is that reading from channels will block if its empty where Futures, return the same value.

Written more concisely.

f := New(func() Type{return t}) v := g.Get() w := g.Get()

Great project. It seems like channels are just the wrong tool for a lot of concurrency problems. More powerful than needed and easy to get wrong. Lots of nice ways to make go concurrency safer.

The problem that bothers me (and isnt in Conc), is how hard it is to run different things in the background and gather the results in different ways. Particularly when you start doing those things conditionally and reusing results.

Something like go-future helps. https://github.com/stephennancekivell/go-future

Hi, At [Upollo](1) we do a lot for detecting dodgy signups and helping users to convert. IP lists are a part of what we use and we are planning on making our IP API's public in the near future.

We find IP lists alone dont really cut it though. Its easy for someone to just tether to their phone to signup.

If your interested we would love to chat :)

[1] https://upollo.ai

Hi, yea thats exactly what we do. We find people who habitually repeat trials love the product and are just doing it because it's easy.

Give people a discount to get them onboard, once they are paying they are happy to continue.

I see a lot of haters here, but I tip my hat to Netflix.

Imagine if you were building a service and had trouble getting customers to pay their fair share. Netflix are making it easy for people to use it the right way. Its a gentle nudge in the right direction. They arent just blocking or banning the users. Its not everyone who has to pay more, just people who are already in the wrong. And for a discount of $3, thats less than a cup of coffee!

Is it that people are worried that they will unfairly be charged more or something?

Anyway, I think this is an interesting space. I wonder how many users are account sharing this way and how many are account sharing on other services.

What process do you have to stop this spammer sighing up again. It sounds like you already have some automation, but in this case it got flagged for manual review.