BeReal: A system design challenge
The new social media app BeReal is an interesting case from a software system design perspective. This platform for posting pictures has a very particular formula: Every day at a random time every user is notified to shoot a picture, at that precise moment, using both the front and back camera. Ten days from now, I will reach the milestone of one year shooting such a BeReal every day.
This is what makes the service so interesting from a system design perspective: All users worldwide are grouped into one of just four chunks based on their time zone, Americas, Europe, West Asia or East Asia. With roughly 20 million active daily users, that means each of these groups consists of millions of users. And all users within each group are actively incentivized by the app to post within a two-minute time frame, every day! This time to post is randomly selected each day from a range of about 14 hours appropriate to the time zone region. A nice dashboard was made by another interested software engineer that tracks each region’s daily BeReal moment time.
This set-up is clearly a challenge in terms of efficient resource usage. Most of the time throughout the day, barely anything happens on the platform. Except for those peak moments when everyone is supposed to check in. Thankfully, there are others who also were curious about this and tried to reverse-engineer the app. The most notable sources I found are this post and this one. It quickly becomes clear that making heavy use of cloud infrastructure is an absolute necessity for this to work. It seems to me that there is no way this company will ever be able to host itself. Most of their hardware would be mostly idle, most of the time.
In any case, it’s not likely that the app will stand the test of time I suspect. The technical challenge I described in this post seems to be one of BeReal’s lesser problems after all. On the one hand, they have to continuously come up with new features to keep users engaged. On the other hand, the service still isn’t even close to figuring out a business model that lets them turn a profit. On the contrary, the company burns through its raised funds at a relatively high rate while the user base doesn’t seem to be growing much anymore. Not a great position for a social media platform to be in. Quite a shame, actually. I really enjoy the simple experience, free of junk and algorithms.