Swizec Teller - a geek with a hatswizec.com

    Build one to throw away

    The Mythical Man Month book chapter
    The Mythical Man Month book chapter

    On Mar 3rd, 2017 my favorite PM and I had a brilliant idea ๐Ÿ‘‰ what if our chatbot could send text messages?

    We had recently launched a chatbot to our mobile app. Something to keep users busy while they wait for an operator. Ask introductory questions. Crack a couple jokes. Stall.

    This chatbot was flexible.

    You could make it say anything. One message, two messages, even simple logic sequences. Say a thing, present 2 buttons, continue based on response.

    It was lovely.

    But it wasn't getting enough traffic. People would click an ad, download the app, and never come back.

    You know how it is ... how many of the apps you download do you actually end up using? I know I don't.

    So we had these users, their phone numbers, their names, but we didn't have their attention.

    TEXT MESSAGES! You can text someone, if you have their number. Everyone opens a text message!

    brilliant giphy

    A marketing automation is born

    She, the PM, had an idea: Let's send text messages to re-engage our users. Remind them we exist. Get them coming back.

    "Wait, you're gonna want to iterate on this aren't you ... play around, test things out" ๐Ÿค”

    Dunno, probably?

    Yeah I don't wanna write a bunch of code every time you change your mind ...


    We can use the same chatbot scripts we've already got, follow the path with a background worker, send texts. It's just a directed graph, how hard can it be?


    And so the project I would spend the next two and a half years of my life working on was born. The text message marketing automation.

    That first version took about a week. It was pretty crude, but it served its purpose ๐Ÿ‘‰ send a series of time-spaced text messages.

    As the months and years rolled by I would add things and fix bugs. Feature requests came in. Hey we want campaigns to last a few days. Sure. Hey we want to A/B test the cadence. Got it. Yo we wanna personalize the messages. You gots it. Hey why didn't that shit send? I have no idea let's make it inspectable. Hey what about branching logic based on behavior? err ... We want branching in the cadence too? uhhhh What about A/B testing and branching and personalization and having unique campaigns for each user and yo this damn app to write the scripts is way too complex and it never works and we are never quite certain that something did or didn't send and what is this pile of shite and for heaven's sake why does it take you engineers three weeks to add a new feature we need this stuff yesterday you are ruining all our marketing plans

    Whoa there. Chill dude

    The organization has outgrown the system. We were no longer able to keep up.

    Sure we added features and we made it more elegant and even invested a bunch of time into making it easier to extend and easier for other engineers to contribute. But our marketing automation was fundamentally becoming a product of its own.

    When you start thinking "I should just spin this out into its own startup" you gotta ask yourself ๐Ÿ‘‰ "Do I really want to spend the next 10 years dealing with this crap?"

    Hell to the no.

    Throw it away

    You love what you've built. You are very proud. It has stood the test of time. It has made much money.

    Time to throw it away.

    Marketing automation has come a long way since that fateful day in March 2017. Startups whose entire purpose in life it is to automate your marketing are everywhere.

    Search for "marketing automation" and you'll see. The landscape is vast and varied.

    Well maybe not varied.

    Everyone promises easy-to-use workflows, with a visual builder to boot, everyone has email, many have SMS too. Plenty that integrate directly with Facebook ads as well.

    It's quite astounding really.

    You could try to compete. Dig in your heels and scream "BUT MY JOB SECURITY". Yeah, if you own a business critical system at your company your job is pretty secure.

    You know what else happens?

    You don't have time to work on anything else. You won't get interesting projects. You won't get more responsibilities. You'll be stuck maintaining that damn system that you've built and your company will be worse off for it.

    Throw that shit away.


    Did you enjoy this article?

    Published on June 19th, 2019 in Learning, Personal

    Learned something new?
    Want to become an expert?

    Here's how it works ๐Ÿ‘‡

    Leave your email and I'll send you thoughtfully written emails every week about React, JavaScript, and your career. Lessons learned over 20 years in the industry working with companies ranging from tiny startups to Fortune5 behemoths.

    Join Swizec's Newsletter

    And get thoughtful letters ๐Ÿ’Œ on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.

    "Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. ๐Ÿ‘Œ"

    ~ Ashish Kumar

    Join over 14,000 engineers just like you already improving their careers with my letters, workshops, courses, and talks. โœŒ๏ธ

    Have a burning question that you think I can answer?ย I don't have all of the answers, but I have some! Hit me up on twitter or book a 30min ama for in-depth help.

    Ready to Stop copy pasting D3 examples and create data visualizations of your own? ย Learn how to build scalable dataviz components your whole team can understand with React for Data Visualization

    Curious about Serverless and the modern backend? Check out Serverless Handbook, modern backend for the frontend engineer.

    Ready to learn how it all fits together and build a modern webapp from scratch? Learn how to launch a webapp and make your first ๐Ÿ’ฐ on the side with ServerlessReact.Dev

    Want to brush up on your modern JavaScript syntax?ย Check out my interactive cheatsheet: es6cheatsheet.com

    By the way, just in case no one has told you it yet today: I love and appreciate you for who you areย โค๏ธ

    Created bySwizecwith โค๏ธ