Hacker News new | past | comments | ask | show | jobs | submit login

> Apollo averages ~345 calls per-user per-day

The mobile front end does about 345 calls/user/day

The push notification server does 8640 calls/user/day (one call every 10 seconds).

In https://youtu.be/Ypwgu1BpaO0?t=1772 he describes how that works.

> I guess there's an analogy um the way Reddit notifications work just for your inbox like you got a message or something um they work in so far as if I the developer of the app want to um say make sure that you get that notification within 10 seconds I have to be checking Reddit every 10 seconds to go like is there anything new is there anything new? is there anything new? is there anything new? okay. There is okay I'll tell is there anything new and then just repeating that at nauseam so you can imagine if you get a message once a week I'm checking every 10 seconds and then once during that whole week I get that message and then I can send it to you um so 99.99 of those API calls were wasted so we've talked to Reddit like that my friend who works on my server um and myself and I've said like what would be so much better is if we could just kind of keep like a port open with Reddit and say like you just tell us when there's a notification ready and we'll beam it off we don't have to bug you all the time and it's logical right and that's how a lot of services do it it's like an event-based API and um that's just not something reddit's ever uh given us




> The mobile front end does about 345 calls/user/day

> The push notification server does 8640 calls/user/day (one call every 10 seconds).

I've seen you parroting this around in every thread, and don't understand why.

First of all, none of the math checks out with your theory. But I'll break down why. Here[0] he says Apollo has over 100k DAUs (I noticed you've also stopped using that link...). He also says

> At 100,000+ users, that's in the realm of 60 million requests per hour that my server would have to handle, not to mention parsing the results, coordinating tokens, etc. I really can't do that for nothing, so the plan was to offer push notifications with a small fee associated to cover these ongoing server costs.

> I also offer a completely free system that does not use a server so those who don't want to have to pay can have their device function as the server and use local notifications (which are slightly delayed as it uses Background Fetch and using the device uses more battery), but remote notifications necessitate a server.

> If there's nothing that can be done, Apollo won't be able to offer push notifications unfortunately.

He has stated here[1] that API pricing would cost him "almost $2m per month."

So let's check the math.

345 + 8640 API calls / user / day = 8985 / user / day

8,985 API calls x 100,000 users = 898,500,000 / day

Using the absolute average month of 30.4375 days:

30.4375 x 898,500,000 = 27,348,093,750 req / month (@ 100k users)

Or in API pricing $6,563,542.50 / month, which is almost 3x as much as he said it would cost.

> Note that it does a request every 10 seconds for each user. At the API rate that would be about $0.25 every 3 hours (for each user) to support it.

They only do that for each user, that has paid for and has an active Apollo Ultra ($5/mo) subscription. That's going to remove a significant chunk of users.

If you want to verify any of this for yourself, the backend code is also now fully readable[2]. But it looks like from their backend code, they do a maximum of 100 users[3] every 5 seconds[4].

Additionally, that's Reddit just being stupid not them. Reddit offers no alternative way to get real-time notifications from their API, and with the paid API won't as well.

[0]: https://www.reddit.com/r/apolloapp/comments/9l3ema/apollo_13...

[1]: https://www.reddit.com/r/apolloapp/comments/144f6xm/apollo_w...

[2]: https://github.com/christianselig/apollo-backend

[3]: https://github.com/christianselig/apollo-backend/blob/b992d2...

[4]: https://github.com/christianselig/apollo-backend/blob/b992d2...


The 100k users is the total username when he released 1.3 if he were to have that entire user base get push notifications.

He didn't do that - he set up a new subscription tier for the app to handle that. Not everyone in the 100k user base bought a subscription.

The 100k number was also from 5 years ago and is likely not accurate for today. The main value from that quote is as a description of how he was architecting the notification system then and the YouTube video is how showing that this is how he is still doing it.

Unfortunately, we're going from incomplete numbers that are being interpreted different provided by different entities. The best we can do is set floor and ceilings for the numbers. And I'll admit that my math may be off in places too.

What we can do is identify how much it would cost for one account with the push notification server request as part of the API cost (noting that one subscription may set up multiple accounts - see https://apolloapp.io/notifications-faq/ How many accounts/devices does this work with? ).

The estimate I have is that as the push notification server is written, it would cost about $2/day/account (8640 requests/day x $0.24 / 1000 requests).

$2M/month would suggest that he has about 33k users with push notifications. At about 1.5M monthly users that's 4% that signed up for a subscription.

That's a ceiling as I'm not counting the "how many requests per day come from an average user with the 900k daily active users claimed".

(Some data points)

* 2M monthly users https://www.theverge.com/2023/6/13/23759180/reddit-protest-p...

* 50,000 people have a yearly subscription to Apollo https://appleinsider.com/articles/23/06/08/reddit-app-apollo...

* 1.5M monthly active, 900k daily active https://techcrunch.com/2023/05/31/popular-reddit-app-apollo-...

---

And yes, I will certainly agree that Reddit, lacking an event based notification system is an oversight in how their API was used.

The push notification server needs to be considered as part of the API load and it is really easy to get that number to grow.

If you scale back the notifications from 1 every 10 seconds to 1 every 5 minutes, it becomes a much more reasonable number with only 288 requests per day per user - which gets into very different numbers when dealing with a subscription.

Let's call it on average 600 request per day per user overall then, and you're at 18k/month/user and that's $5 of API use cost. Up the subscription from its current $4.99 to $9.99 and you've paid Apple's 30% (or 15% if more than a year) and Reddit's API costs and made a profit.


> If you scale back the notifications from 1 every 10 seconds to 1 every 5 minutes, it becomes a much more reasonable number with only 288 requests per day per user - which gets into very different numbers when dealing with a subscription.

Except you're still making up fake numbers. He was giving an example, not quoting a dedicated solution.

I even linked to their server code in my previous comment where you can see they do batches of 100 users every 5 seconds. Unless they only have 200 users, then it will not ever be “1 every 10 seconds” like you keep claiming.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: