Scaling Cheapass.in from 0 to over 5,00,000 price drop alerts
Scaling cheapass.in from 0 to 5,00,000 alerts.
I am the creator of cheapass.in, a service which sends real time price drop alerts across popular Indian e-commerce websites. Products can be added for price tracking via a website, a bookmarklet or an Android app. Price drop alerts are then received by emails, and push notifications on Android and iOS.
The journey begins in June 2014, is still alive and kicking, and is proactively making an impact in the lives of about 5000+ people on a regular basis.
This talk will not be about the “best-way” of doing things, but how a single person team faced challenges on a regular basis due to growing product usage, learned things along the way and brought in optimizations to keep the systems going. I’ve wore all hats possible while building this product - design, product management, marketing, sales tie-ups, social media management, customer support and drum-rolls development.
I will be open sourcing the cheapass git repository before the talk, picking up git commits that brought in significant performance impact and explain what went wrong and what fixed it.
Here’s a mind map of what the talk would be shaped around -
- how tiny problems we face on a daily basis can be prototyped quickly using full stack JS. Cheapass started as a service which I built for myself to track product prices on Flipkart.
- how I did just-in-time optimizations to fix the app every time it went down or unbearably low on performance.
- how I gave what people wanted (push notifications and mobile dashboards on iOS and Android) by putting in the least of the efforts. React Native, FTW! Code already open sourced.
- creating flexible APIs to feed multiple clients. Cheapass supports product tracking via a website, a bookmarklet, an Android app and an iOS app.
- how I created a twitter bot @CheapassAlerts to organically grow the daily active users and daily signups.
- how to get started with native mobile app development with your existing JS knowledge.
- closing with Q&A
“Move fast and Break things”, I mostly live on the bleeding edge of the technology. I lead Frontend Engineering at Instamojo.com where I enable payments across devices and platforms using ReactJS and PWAs. Currently maintaning several ReactJS, Redux, Webpack apps with shared codebase in a single repository. I also have a huge stage fright.
- Github profile - https://github.com/aakashlpin/
- Cheapass Android app - https://github.com/Cheapass/droid
- Cheapass iOS app - https://github.com/aakashlpin/cheapass-ios-app
- Twitter - https://twitter.com/@aakashlpin
- @CheapassAlerts - https://twitter.com/@CheapassAlerts
- My Quora answer when I created Cheapass- https://www.quora.com/Why-does-price-of-an-item-drop-excessively-in-a-few-days-after-buying-a-product-from-Flipkart-Is-this-a-coincidence-or-Flipkart-uses-some-algorithm-to-reduce-the-price-of-an-item-once-a-significant-profit-is-made-from-an-item/answer/Aakash-Goel-1
- Recent Interview about Cheapass - http://indshare.com/handy-lifehack-for-those-struggling-with-price-fluctuations-cheapass-in/
- Article on Server side rendering a React app with any backend - https://medium.com/instamojo-matters/server-side-rendering-with-a-django-webserver-57c7356effd1#.59iw6f21p
- Progressively enhancing Instamojo.com https://medium.com/instamojo-matters/progressively-enhancing-instamojo-com-d772c891313f#.854qsalgt
- Performance case study on capturing the load event of an iFrame https://medium.com/instamojo-matters/capturing-the-load-event-of-an-iframe-a-case-study-1a3761c871fe#.lsyi30xn4