Wattpad is an online community that allows individuals to read, write and share stories.
Technical articles and stack decisions from Wattpad
Understanding the Meaning of Searches
Understanding the Meaning of Searches In previous posts I’ve talked about how to automatically re-order search results based on monitoring user interactions with your search system and how this has...
Self-Ranking Search with Elasticsearch at Wattpad
Self-Ranking Search with Elasticsearch at Wattpad At Wattpad search is used millions of times a day by people looking to discover stories they want to read. We use Elasticsearch to power these...
Dancing Our Way to Reliability
Dancing Our Way to Reliability Read our newest blog post about choreography between microservices, using our newly open sourced SQS consumer...
Journey to the Center of Microservices
Journey to the Center of Microservices Read the Platform Team’s blog on Wattpad! https://www.wattpad.com/story/64615316-journey-to-the-center-of-microservices
Why We Hack
Why We Hack One of the longest-running traditions at Wattpad is our Hack Fridays. What is Hack Friday? It’s a monthly event to encourage creative problem solving in a free-form environment....
Developing our Apple Watch app
Developing our Apple Watch app Before developing our Apple Watch app, we had to figure out its purpose. Are we developing it just because it is this “new thing” or can we really provide our users an...
Frontend application overview: Redesigning wattpad.com
Frontend application overview: Redesigning wattpad.com For the past year our team has been building a web application to power our desktop and mobile-web experiences. Over this time, we’ve moved 95%...
Running Tests on a Pull Request
Running Tests on a Pull Request We all know that testing is important and that manual testing can be repetitive and boring. At Wattpad we decided to write automation tests instead of manual testing....
Using Djinni for Cross-Platform Mobile Development
Using Djinni for Cross-Platform Mobile Development One of the issues we face developing our mobile app for both Android and iOS is a significant amount of code duplication between the two platforms....
One ThreadPoolExecutor to rule them all
One ThreadPoolExecutor to rule them all The Wattpad Android app is extremely complicated with a lot of multi-threading in the background. A common problem that we ran into was the need for a...
Using Nginx as a proxy for ElasticSearch (and how to stop blaming the sun)
Using Nginx as a proxy for ElasticSearch (and how to stop blaming the sun) We use ElasticSearch to power our search infrastructure. It’s fast, scalable, and usually quite stable. That isn’t a knock...
Git Powered Deploys Using Capistrano
Git Powered Deploys Using Capistrano At wattpad.com, we use Capistrano to deploy our code. Capistrano is a great tool for deploying to a number of machines and having the code go live, more or less,...
Design Pattern: Dependency Injection
Design Pattern: Dependency Injection https://docs.google.com/presentation/d/1DZOTiz_fSlJzinw-4hHYo0OM-TKeZLrxKgKPHu9c1J8/pub?start=false&loop=false&delayms=3000 Recently I gave a talk about the design...
Getting Quick Changes Out Without a Full Deploy
Getting Quick Changes Out Without a Full Deploy Being able to react quickly when things go wrong is crucial, and having the right tools to assist you can turn a nightmare into a manageable situation....
Done is More Than You Think
Done is More Than You Think Have you ever had a conversation like this with a developer on your team? “ Mara: So…is the IRC meme generator done? Beck: Yup! All done. Mara: Ok cool, I’ll take a look at...
Android Essentials - Continuous Deployment on Google Play
Android Essentials - Continuous Deployment on Google Play You’re moving fast, real fast, squeezing in your last bunch of changes, doing some quick tests and then you upload the APK to Google Play....
Beginner (and not so beginner) tips for Memcached - Part 2
Beginner (and not so beginner) tips for Memcached - Part 2 Last time, we talked about getting the most out of the memory and network bandwidth limits and what to do to scale beyond that. Once you...
Beginner (and not so beginner) tips for Memcached - Part 1
Beginner (and not so beginner) tips for Memcached - Part 1 We love Redis and use it a lot here at Wattpad. We’ve even written about it here and here. Redis is powerful, easy to use and good for a lot...
Leveraging Your Users as Testers - Using Beta Versions on Android Play Store
Leveraging Your Users as Testers - Using Beta Versions on Android Play Store At Wattpad we are fortunate to have a very large user base, but unfortunately don’t have as much time or people as we would...
True North PHP Conference
True North PHP Conference I just gave my first public technical talk over the weekend at True North PHP Conference in Mississauga. There hasn’t really been a PHP conference in Toronto in six years so...