We do not live in a binary world. There’s a vast grey zone in between “like” and “dislike” that’s often not reflected in social network experiences. Our friends may “like” a photo we posted, but how much do they like it? Most social media platforms don’t provide features that help us communicate the intensity or degree of our sentiments.
Sweeble is designed to bring clarity to the grey zone. It’s the first social media platform with an intensity-based “like” feature that allows users to give and receive qualitative feedback on shared content. The company’s vision is to elevate the way people experience content sharing by giving users tools to accurately express how much they love the images and videos they see.
With their focus on quality over quantity, Sweeble is redefining how content popularity is measured on social media. Users can track and gauge the influence of their posts to better understand which content resonates best with their community. Businesses gain valuable feedback that helps them increase brand awareness and engagement.
Scaling “Likes” on a Scalable Platform: Heroku
Sweeble’s architecture uses Parse for it’s primary data store, and their mobile SDKs provide consistent access to the data across platforms.. The app was originally built entirely using Parse in order to get their app live quickly for beta testing. The development team has since moved some components to the Heroku platform and are using both platforms in tandem. They found that Heroku offered greater processing power that some of their algorithms needed for optimal performance, as well as a more flexible and convenient data backup solution using Heroku Postgres.
I’m a huge fan of Heroku. We’d rather focus our resources on writing code than on managing servers and infrastructure. Tyler Pearson, CTO, Sweeble
The Sweeble team started with a simple Ruby on Rails app running on Heroku, then registered a number of API endpoints with Parse via their webhook API. The Delayed Job queuing system distributes the work between workers that process data fed to the app from Parse. Whenever an action occurs within Parse, it triggers an afterSave Parse webhook that sends a request to the Rails API for processing, analytics, and secondary backup in Postgres. They have PGBackups set up and a follower database that acts as a read-only replica, allowing them to perform read-heavy operations, such as intensive data processing, without compromising read/write performance.
Ruby on Rails gave us the flexibility to pilot a simple app on Heroku that we could build out later over time. It allowed us to leverage Heroku Postgres for our data storage, while at the same time integrating well with our existing Parse implementation. Tyler Pearson, CTO, Sweeble
On the client side, their Parse implementation uses the Android and iOS SDK to run the mobile apps and Heroku to run the web app. The web component of their Ruby app is comprised of several different parts. There’s an admin panel with moderating tools to help Sweeble operate their service, as well as public-facing profiles and photo viewing functionality. The team uses Heroku Add-on services MemCachier to handle view caching and Fastly as their real-time (CDN) content delivery network. They integrated Algolia search functionality for hashtag and user search.
The app’s core feature of real-time, scalable “likes” required a robust caching solution that can keep track of numerous incremental and cumulative metrics. Because much of their data is the result of long-running data processing tasks, they can reduce the frequency of these tasks by caching the results in Redis. The team chose Heroku Add-ons openredis for managed Redis hosting and RedisMonitor to track server health. Upcoming calculation-based features, such as a top friend leaderboard, will also be implemented using their Redis set up.
With Heroku, it was super simple to set up caching and a CDN for our heavy data processing tasks. With one command, we could provision any one of Heroku’s fully managed add-on services. It couldn’t be easier. Tyler Pearson, CTO, Sweeble
Pushing to production, a few members of Sweeble team run end-to-end tests locally and then use a standard Git deployment process with Github for version control. A handful of Heroku Add-ons helps the team operate their app. Raygun.io helps them react to errors as they occur in real-time. For log management, they use Papertrail. Encryption is handled using the SSL add-on and the Expedited SSL certificate purchase and installation-as-a-service. Adept Scale helps them automate scaling of Heroku dynos so they can more easily maintain performance when traffic spikes. Sweeble uses New Relic APM to monitor and fine-tune their app. Pingdom provides notifications when their app stops responding to requests.
As Sweeble evolves, the team plans to migrate entirely over to Heroku by building onto their foundation Rails app. The team is currently working on migrating the “Explore” section of the app over to Heroku, which will pull directly from the Rails app API endpoint on Heroku and run background processing every night to produce recommendations for users.
At a previous company, we moved completely over to Heroku from dedicated servers and it worked extremely well for us. We plan to do the same with Sweeble and move entirely to Heroku to give us more flexibility in the future. Tyler Pearson, CTO, Sweeble
Exponential Growth in Only a Few Months
After only four months in private beta, Sweeble garnered more than 2.2 million seconds of “liked” content, 40,000 images and video posts, and a record 30-minute long photo “like.” The app has attracted high-profile influencers from entertainment, fashion, and sports. Since launching publicly in June 2015, Sweeble has seen a retention rate of 65%.
Like any social media platform, viral growth can be uneven and unpredictable. Heroku’s scalability and flexibility has helped Sweeble grow smoothly while maintaining a high-performance experience for their users. The app has been listed as trending on the Apple App Store several times, and the team has been able to easily spin up dynos to handle the additional incoming traffic.
Sweeble is available for free download in the iTunes App Store and Google Play. The Sweeble app is designed to support a highly-visual, intuitive, and immediate mobile experience. Content feeds are displayed as simple mosaics of image and video thumbnails, each with their popularity metrics displayed next to the heart icon. Users can express how much they like a particular item by holding their finger down on the heart icon – the longer they hold down the button, the more they like the content. Privacy settings allow users to choose whether their images are private, viewable to certain friends, or accessible to all Sweeble users. Photo and video editing tools help users customize their content to reflect their personal style.
With Sweeble, we can now turn our social media “likes” into “loves.”