I’m doing some marketing automation for Adam, a new client of mine. He needs to use Sendy for sending his emails because it’s cost-effective for sending in bulk.
He also needs some fancy stuff to happen when people subscribe to his list, and when they click or open his emails.
Thing is with Sendy, is that it doesn’t do much (if any) marketing automation.
Enter The Tech Assassin.
The number 1 rule of adding functionality to software you don’t control is that you don’t want the program to break when it gets updated.
In other words, I can’t just go and add some features to Sendy’s core code. Because, if I do, and Adam then needs to update the software because of a security update, then he loses the work I did.
Now in this case, we need certain things to happen when…
- Someone subscribes to a list.
- Someone opens an email.
- Someone clicks a link.
The first one is supported in Sendy but not really. Sendy actually supports Zapier. But I can trick Sendy into thinking that my new app IS Zapier, by just adding some stuff to the database.
So far, so good. No breaking the original package. Adam can update any time he likes.
Next up, are the opens and clicks.
Sendy supports simple open and click tracking. If you open an email, a little bit of info is sent back to Sendy and it updates a counter in the database.
Same goes for clicks.
But Sendy does NOT support triggering anything else for clicks or opens.
There’s just no trigger and no database hack I can use.
This is where a “normal” developer is screwed and has to do something dangerous, like modify core code. Or ask his client to NEVER update his software, ever. (Which is dumb.)
Well it’s a good thing I know the full stack.
(SIDEBAR: A full stack developer understands—and works on—everything from HTML and CSS down to the very server the app is running on.)
So now I can tell our trusty web server (Nginx, in this case) that if it gets any requests to track an “open” or a “click”, to rather send those requests to this other program.
The “other program” is my new app that I’m building for Adam. And it will grab that info, trigger some automations, and then hand things back over to Sendy.
Sendy won’t know the difference but my client will. He’ll have bad-ass email marketing automation without spending thousands of dollars on hosted email apps.
BOOM! (you know where to find me)