I sell perfume in India. By day I write code.
I just built a Shopify app. 7 versions, one wiped codebase, and a bug that decided my entire perfume catalog was sample vials.
Here's the whole story, including the part where I might shut it down.
I run God of Essence, a small extrait de parfum brand. There are 27,500+ fragrance stores on Shopify,
and not one app that actually understands fragrance. The quiz builders out there are generic. You end up doing all the scent work yourself, product by product.
So I built ScentMatch.
For the shopper it's simple. Answer a few questions, it maps you across 8 scent families and shows the bottles that actually fit you, plus what to layer them with. For the merchant, AI reads your catalog and maps every product for you. No spreadsheets.
That was the plan, anyway.
First real test on my own store, the quiz refused to show up. The AI had tagged every single perfume as a sample, because my product descriptions mention vials. My whole catalog. Samples. I fixed it with plain old rules instead of AI. Not everything needs a model.
Then a folder mishap wiped my core source files and I had to rebuild them. After that I kept deploying fixes that "changed nothing". The code was fine. My copy command was failing silently in zsh, so none of the fixes ever shipped. Sometimes the bug is you.
The best bug report came from shopping my own store. ScentMatch was stacking a 15% quiz discount on bundles that were already discounted, so margin was leaking on every bundle order. Now merchants choose who gets a discount and which collections it covers, and it never stacks.
One for Indian D2C folks: a lot of us use Razorpay Magic Checkout, and it doesn't play nice with discounts an app adds in the browser. So every bundle discount in ScentMatch runs as a native Shopify discount. Boring choice. It's the reason they actually show up at checkout.
There are also things I refused to build. No countdown timers. No "only 2 left!" when there are 200. A sale only counts as ScentMatch's if it happens within 7 days of a click, and you can check each one against your Shopify orders. I don't fake scarcity on my own brand, and I'm not going to sell it to other brands either.
It's grown past perfume too. The same engine works for candles, coffee, tea, skincare and haircare, anything people choose by taste or smell. The widget is under 40KB, comes in 6 themes, and adds to cart without reloading the page.
Now the honest part.
Before launch I wrote down a rule. If by month 6 I'm under 60 installs and 8 paying stores, I stop, and those hours go back into my perfume brand. I wanted that decided while I could still think clearly, before I got too attached…
It's not on the Shopify App Store yet…
I'm submitting it soon.
If you run a Shopify store that sells fragrance, candles, coffee, tea or skincare, reply "scent" or DM me. I'll message you myself the day it goes live.
If you just love perfume, my store is in the reply below.
And if you read this far, a repost helps a solo builder more than you'd think 🙏
I asked an AI to describe one of my perfumes without using the words “notes,” “elegant,” “sophisticated,” “timeless,” or “luxurious.”
It failed six times.
Not because the model is bad. Because the entire fragrance industry writes from the same 200 words, so that’s all it has ever read.
Then I checked my own X drafts. Same disease. “Excited to share.” “Game changer.” “Here’s the thing.”
Every industry has a vocabulary that makes you invisible.
The fastest way to sound different isn’t writing better. It’s banning the twenty words your competitors can’t stop using.
Pick your industry’s five worst offenders.
Try writing one post without them.
Harder than it sounds.
We built an AI that scores social posts on 312 factors before you publish.
I have 0 followers.
I’ve been quietly hoping nobody put those two facts side by side.
So I’ll do it myself.
Every post I write from today runs through Synthiya first, and I publish the score with it. The 89s and the 41s. No editing the number afterwards.
If the tool is real, you’ll watch this account grow and know exactly why.
If it isn’t, you’ll watch that too.
This post: 88/100.
I’ve had this account since January 2024.
30 following. 0 followers. Two posts I’m embarrassed by.
The truth is I was scared of posting something people wouldn’t like, so I posted things nobody would react to at all.
That’s worse.
Starting today: an AI product, a SaaS, and a fragrance brand — built in public, numbers posted every Sunday whether they’re up or down.