Running promotions for your e-commerce store is one of the more effective tactics you can use to drive sales. It can help convert people that are “on the edge“ of buying but are having a hard time justifying the cost. These types of buyers are looking for a reason. A discount or promotion could be the catalyst they needed to pull out their credit card and make the purchase.Read More
For my use case, I needed to search through an array of objects and compare two (similar but not matching) objects:
As you can see one object has an approximate_size key/value, while the other does not. Now imagine trying to match these two using one line of code... I'll spare you a headache, it's hard to do. What saved my ass in this particular case was using findIndex().
What led me to the findIndex() method was trying (and ultimately failing) to use it's younger brother: indexOf().
indexOf() can give you the index of an object in an array, but the objects need to have the EXACT same key/values. If a particular key/value exists in one, but not the other, it won't work. Which makes sense, seeing as they techincally do not match.
What I was looking for was a way to match the values of the objects that I KNEW existed in both... This line of code will search our custom audience array and match against the ID, a value that we KNOW exists. The benefit here is that we can use findIndex to match similar objects rather than exact.
Oh... "but why?", you ask. So we can filter arrays of course! Oh and also for my react App. I'm building a Market research tool that allows users to create and save Facebook Audience Targeting Ad Settings. Use the findIndex method to dynamically filter an array of custom audiences, find a match and "check" a checkbox. See a screen shot below!
The first half of last year I built my first SaaS product. Things were going great. I was able to get featured in a few notable publications and had a modest debut. Although small, the trajectory was heading in the right direction. I doubled my traffic by spending the last few months of the year working full time on Novelty. Until things broke and... Well, I might be forced to pivot or quickly iterate on development once again.
This was my first side project, and consequently my first failure. It makes sense in hindsight why this project failed. My wife even called it!
Novelty is a marketing platform for Etsy sellers. It hooks into Etsy's API and allows you to create Facebook Ads using your products. It started as a side project. I wanted to build a web app, hook up Stripe and throw it up on AWS. Mission successful! What I didn't realize was the main feature (Ad Creative and Analytics) was easily replicable. Something a large tech company like Etsy could implement within weeks. And they did. Last month Etsy released Facebook Ads features within their Shop Manager.
SO NOW THE QUESTION REMAINS... WHAT'S NEXT?
This is a clear sign that I should immediately pivot to something else. The only way I can compete now would be to heavily iterate on development, essentially offering a better way to run Facebook ads... As a bootstrap engineer/founder, my chances look slim...
I've given it some thought and the best way forward is to essentially put it on autopilot. I don't mind paying the server fees, but I will stop running all ads. I've also stopped coding new features. I will continue to market my product as a better alternative to Etsy and Facebook Ad managers but plan on doing this part-time. I've started to pick up freelance work in the meantime to help supplement the cost of this 7-month experiment.
I am definitely going to start a new side project! What this experiment has taught me is that SaaS is hard, but more importantly building products is fun! I have a new found respect for how difficult it is to build something that sticks.
So what do I have in mind for my next side project? Well, I own built.withetsy.com so might start a community-based site for Etsy Entrepreneurs. A place for them to share their story. That might solve the problem of retention I was having. It also might be a nice area to cross-promote Novelty. I've also been quite interested in blockchain and domain arbitrage. So I will most likely begin testing different ideas around those two subjects only to see what interests me. I like to constantly dabble around the edges, simply a way to stay up to date on modern tech.
FAILED, BUT LEARNED
Adtech is hard! It takes a lot of development time to push out good marketing software. I also ran into all the usual pitfalls of most tech products... For example, onboarding and retention were hard. Users would get to the site and didn't know what the hell they were supposed to do. I've since fixed these issues but there were countless times I tirelessly marketed my product only to find out that users were dropping off due to bugs in the code. There are so many moving parts when it comes to SaaS/Adtech and it's imperative to get as many as you can steady before you launch.
Moral of the story
- Make your product as easy to use as possible.
- Before you launch TEST, TEST, TEST!
- Spend more time selling and less time developing.
- Quickly pivot when you've failed
What do you think?
Should I quit and start something else? Soldier on? Let me know by commenting or emailing me! firstname.lastname@example.org
Over that last 3 months, I've tried multiple attempts at driving traffic to my SaaS product, Novelty, a Facebook advertising website for Etsy sellers. In my last wite-up I discussed how I stumbled into my first product idea by helping my wife set up online Ad campaigns for her Etsy shop. what went into developing my first I recently stumbled onto a successful and evergreen tactic to market my product. Setting up product demos with cold outreach. I'm calling it the "King Arthur of Marketing".Read More
Over the past four months, I've been documenting my journey of releasing my first SaaS application Novelty, a Facebook advertising website for Etsy sellers. It's been a lonely journey to say the least. Until recently. I soon realized I needed a co-founder, co-worker, or maybe just a friend to help push me through the process. So I found one and it's changed the way I look at starting a business.Read More
We've all been told stay away from prematurely optimizing our code. Whether you're building for the enterprise or trying to get your first MVP out, chances are you shouldn't spend too much time tweaking your code for marginal efficiency gains. As Donald Knuth describes in his 1974 book, Computer Programming as an Art, "worrying about, the speed of noncritical parts of their programs, and these attempts at efficiently actually have a strong negative impact....". But how can we determine what will have a strong negative impact further on down the line? In this write-up, I will detail a small decision I made within my latest SaaS project Novelty, a social media marketing platform for Etsy sellers. The decision to fight premature optimization. And when I speak of optimization I mean it within the business context of getting a product to market, rather than algorithmic performance gains.Read More
Want to hear my favorite perk of getting married? Beware, it's pretty dorky... You ready?
Access to my wife's data.
I was in search of my next side project about four months ago. My wife quickly volunteered me to handle her Etsy product advertising on Facebook. She wanted to take her listings on Etsy and quickly create marketing campaigns using product images, titles, and descriptions. After a night of painfully searching for the same images used on Etsy while copying/pasting endless descriptions and titles I started to think to myself, "there's got to be an easier way". My engineering brain kicked into gear.Read More