Tuesday, July 21, 2020

Celebrate RegExr Tech's 3rd Anniversary!

On this day three years ago, RegExr Tech sent out its first automated alert. The idea was born because I had just started working a job since graduating from college and I couldn't spend all day sitting at my desk, refreshing the Funko Shop (this was back in the days of random releases. Items dropped one at a time and totally randomly, so you had to be online all day to get what you wanted). I decided to use my skills as a programmer to set up a simple script and send myself an email if the words "Roxy Richter" appeared on the Funko Shop. However, I quickly realized that this would be useful to many people and that they might want more items than just Roxy, so some changes were made.

The first alert ever sent was for the 2017 SDCC Scott Pilgrim with Sword of Destiny Funko Pop. The alert was sent via email and went out to only 150 people. In order to sign up for alerts, Reddit users would directly PM me their email addresses and I would manually add them to a big text file which acted as a database. As I mentioned earlier, the alert system was for specific items, so users had to "subscribe" to specific lists (for example, Stupor Daffy was a popular one).

Once this proved to be too much manual work, I added even more automation. A new script would now parse my reddit inbox every 5 minutes, check for email addresses, add them to the list if they weren't already there, then reply to the reddit PM. At this point, I also transitioned the alerting code to alert on any new exclusive item, not just specific items. This would become the basis for all alerts to follow.

This went on for some time and continued through NYCC in the fall. However, at this point, the system was starting to push its limits. The subscriber count had grown to 2000 email addresses and the server wasn't powerful enough to send them all quickly. To make things fair, the script would randomize the list of email addresses before sending an alert to make sure the person who got the alert first and the person who got the alert last (and everyone in between) always changed. However, often times, by the time the last person got their email, the item was already sold out. This wasn't sustainable and the service needed a new system to deliver notifications.

Based on a recommendation from a moderator on Reddit's r/FunkoPop, I set up a Twitter account (@FunkoShopAlert). This would solve the problem of sending fast alerts by relying on Twitter's robust infrastructure for sending push notifications. User could now follow the account and subscribe/unsubscribe to alerts whenever they wanted.

It was around this time that I was asked to join the moderation team of r/FunkoPop. This opened up a whole new world of opportunity as I could now not only use the moderation tools to improve my bots (such as stickying an informational comment to the top of each post made by the bot). I could also help the reddit community by creating tools to assist in moderation of r/FunkoPop. This also included creating a bot for tracking feedback from transactions done on r/FunkoSwap.

Soon after becoming a moderator, it was suggested by others on the moderator team that I start adding affiliate links to the alerts I send out. This ended up being a crucial piece to sustaining the project. I could now cover the rising costs of the servers without having to rely on generous donations from reddit users. With this new self-sustaining model, I began adding other stores to alert on besides just the Funko Shop. These stores included:

New features were added at this time as well, such as alerting on restocks as well as new in stock items, creating Reddit posts when Funko would announce new products, automatically generating compilation images for those new items, automatically creating a Preorder Thread on reddit for users to post links for those new items (in an effort to keep things centralized), item correlation to automatically add new items to preorder posts if they belonged to that announcement, and sending out tweets about all of this via @PopCommunity. With all of these new stores and different items being tracked, the database has grown to include almost 35,000 unique links for Funko products.

Discord integration eventually opened up as well, allowing for a new avenue to get alerts for people who were generous enough to support me on Patreon. I also created the (currently non-functional) InvCounter chrome extension. This was an amazing opportunity for people to easily check stock counts for items from The Funko Shop, Hot Topic, Box Lunch, Target, and EMP. However, changes to these sites over time has rendered the extension non-operational, but I'm always checking for new ways to fix it.

Amazingly, it only takes ~2500 lines of code to run the entire alerting operationThis is way more than the original ~100 lines it took to send email alerts but it is still fairly lean, all things considered. The past three years have been an amazing opportunity to create something that's not only useful and practice, but loved by over 11,500 people. This project has take up a good bit of my time in these last three years but it provided me with an amazing opportunity to make new friends, meet interesting people, connect with employees of Funko, and, most importantly, improve the lives of thousands of people by providing a service that saves them time and money, all for free. 

Your continued support and usage of this service is what motivates me to always make it better. I'm always looking for the next way to innovate so if you have any ideas or suggestions, my PMs are always open. Thank you again for being such a wonderful community. I'm looking forward to the next three years and many more to follow.

No comments:

Post a Comment

Hot Cash Give Away Jan 2021

  Hey everyone! Time for another round of Hot Cash codes! Hot Cash ends soon so be sure to use these ASAP! Comment below with the codes you ...