Blog

Notes on building InvenTrac and managing an online shop.

Shopify app finally got approved. Now what?

September 28, 2026

My Shopify app finally got approved after the second revision. It took more time than I expected, and honestly at one point I wasn’t even sure if I should keep going. But sunk cost is a powerful thing. I kept thinking I’m already this far, might as well fix one more thing and get it approved. So here we are. The basic InvenTrac app will be free, and I’m working on inventory sync as the paid feature, so if something sells on Etsy, the inventory can update on Shopify, and vice versa.

Also going to change the plan a little. Instead of trying to support every ecommerce platform out there, I’m going to focus on Etsy and Shopify for now, which are the only two platforms my daughters are selling on. Maybe that’s the niche for now: small sellers using Etsy and Shopify who just want a simple way to keep their inventory in sync without needing some giant inventory management system.

I probably did enough coding for a while anyway. So for the next phase of InvenTrac I’m going to try something that’s actually harder for me: less development, more marketing, and more talking to actual sellers. Etsy + shopify, keep it simple and small, see if people actually use it.

AI Made Scope Creep Way Too Easy

September 14, 2026

I think InvenTrac got a little sidetracked. The original idea was pretty simple: a Chrome extension where sellers can quickly check inventory and sales across different shops without constantly jumping between dashboards. Then I added Shopify, then came the Shopify App Store, and then I thought maybe I need an embedded Shopify app too. That’s pretty much where the scope creep kicked in.

The dangerous thing about building with AI is that almost everything feels possible. I have the technical background, AI helps me move incredibly fast, and every new idea starts with the same thought, yeah It’s only another day. Then another day becomes three days, then there’s testing, bugs, UI changes, API issues, app store requirements, documentation, and all the little things you didn’t think about when you started. Suddenly I’m doing twice the work while somehow still expecting to finish on the original timeline. The Shopify app is a perfect example. At some point I started wondering if I even needed it, but after putting so much work into it, it was hard not to think, I’m already this far, just one more day. Classic sunk cost.

Why Is Shopify so confusing for developers?

September 6, 2026

Working on the Shopify integration for InvenTrac and I have to rant a little. Why is everything so confusing? There’s Shopify Admin, Partner Dashboard, Dev Dashboard, Apps, and then a bunch of different Shopify URLs and subdomains. Half the time I know exactly what I need to change, I just can’t remember where the hell I changed it last time.

API settings? One place. App settings? Somewhere else. Store settings? Different place. App review? Go find another dashboard. Somehow they all look like they’re part of Shopify, but they don’t really feel connected. Maybe if you’ve been developing Shopify apps for years this all makes perfect sense, but coming into it fresh, the whole experience is just confusing. I spent way too much time today clicking around trying to find a setting that I know I’ve seen before.

The funny thing is, building the actual integration might be easier than figuring out where Shopify put everything.

AI Makes Building Easy. Marketing? Not So Much.

September 4, 2026

Lately I feel like I’m constantly choosing between coding and marketing. I work full time, so there are only so many hours left in the day, and of course I’d rather spend those hours building. That’s the fun part for me. AI coding has made that part kind of crazy too. I can have an idea, try it, change it, break it, fix it, and ship something way faster than I could before. But then I started realizing that building faster doesn’t really solve the bigger problem. Nobody knows what I built. So now I’m spending more time learning things I honestly never paid much attention to before: posting on social media, hanging around Reddit, joining Facebook groups, setting up alerts to see what people are talking about, and trying to figure out what to post without sounding like I’m trying to sell something. Half the time I’m doing all of that, I’m thinking, I could be coding right now.

That’s probably the part I struggle with the most. Building feels productive because at the end of the night I can see a new feature working. Marketing is different. You can spend hours on it and sometimes it feels like nothing happened. AI gave developers like me a pretty amazing superpower. One person can build a ridiculous amount of stuff now, except everyone else got the same superpower too. There are more apps, more SaaS products, more extensions, more everything, and building another one is getting easier every day. So I’m slowly learning that maybe the hard part isn’t building anymore. It’s getting anyone to notice.

Shopify Rejected My App, and They Had a Point

August 31, 2026

I finally submitted InvenTrac to the Shopify App Store and… rejected. The reason was actually pretty simple. InvenTrac was built around a Chrome extension. You connect your store, install the extension, and that’s where you check inventory, orders, low stock, and everything else. Shopify doesn’t allow the extension to be required. It can be part of the app, but the Shopify app has to be useful on its own. At first I was a little annoyed because the Chrome extension is kind of the whole idea behind InvenTrac. I wanted something lightweight that I could open without constantly logging into Etsy, Shopify, Squarespace, and eventually five other dashboards. But after thinking about it, Shopify actually pushed me in a direction I probably needed to go anyway.

Most of the hard work is already on the backend. InvenTrac already connects to the stores, pulls the inventory, orders and other data, and organizes everything. The Chrome extension is really just one way of looking at that data. So instead of fighting the rejection, I’m building a simple web dashboard where Shopify users can see their inventory, low-stock products, sold-out items and orders without needing the extension. The Chrome extension will still be there, it’ll just be the optional and faster way to check things while you’re browsing. Funny how building a product goes. You start with one idea, run into a wall, and sometimes the wall points you toward what you probably should have built next anyway. Back to coding.

Real-Time Inventory Sync Is Harder Than I Thought

August 27, 2026

I’ve been researching how inventory sync works across platforms like Shopify, Square, and Etsy. At first, it sounds simple. Someone buys a product on Shopify, so you reduce the stock on Square. Done, right? Not quite. Imagine both platforms show 10 items in stock, and two customers buy one at almost the same time, one on each platform. Both platforms update their stock to 9, but you actually have only 8 left. Then you have delayed webhooks, duplicate events, refunds, manual stock changes, and updates arriving in the wrong order.

I also looked at how Trunk handles this, and their approach makes more sense to me now. They keep their own inventory in the middle and use timestamped changes from each platform to figure out the correct stock. Basically, Trunk becomes the main inventory source. The interesting thing I’ve learned is that connecting APIs isn’t really the hard part. The real challenge is knowing what the inventory should be when several platforms are changing it at the same time. The deeper I look into inventory sync, the more edge cases I find. Still digging! 😂

Everyone Can Build Now. But Then What?

August 25, 2026

AI has made building software ridiculously easy. I can have an idea, build it, fix it, and ship it faster than ever before. That’s great, but there’s a catch: everyone else can do the same thing now. The hard part is no longer building something. It’s getting people to notice it.

I’m learning this with InvenTrac. Writing code is the easy part, especially for someone who has been programming for years. Getting people interested without becoming that annoying guy promoting his product everywhere is much harder. Reddit doesn’t like self-promotion, Facebook groups don’t like spam, and most people ignore ads. Now we also have AI-generated marketing content everywhere, and so much of it sounds the same.

There’s an old saying I keep thinking about: Nobody wants to be sold to, but everyone wants to buy. Maybe the answer isn’t more marketing, but being useful, sharing real experiences, and having honest conversations with people. AI can help everyone build software, but standing out is still a very human problem.

The Shopify App Store Gamble

August 22, 2026

I finally submitted InvenTrac to the Shopify App Store this week, but there’s one problem. Shopify’s requirements say a browser extension should be an optional part of an app, while InvenTrac is a Chrome extension. That’s kind of the whole point! I considered building a small Shopify dashboard just to meet the requirements, but after looking at similar apps, I wasn’t sure it was really necessary. So I decided to submit it as-is and see what Shopify says. If they reject it because I need an embedded dashboard, I’ll build one. If they approve it, I just saved myself a few days of work.

There’s also a funny chicken-and-egg problem. Shopify wants its reviewer to install InvenTrac from the Chrome Web Store, but Chrome is still reviewing it too. 😅 So I had to make a special version that Shopify’s reviewer can install while waiting for Chrome’s approval. Two app stores, two review queues, one extension.

This is one of those things nobody really talks about when building software. Sometimes the hardest question isn’t whether you can build something, but whether you should spend days building a feature just to satisfy an App Store requirement. For now, I’ll wait and see what the reviewer says before writing more code.

Shipping InvenTrac: 7 releases, then everything else broke. 😅

August 15, 2026

The last two weeks have been pretty busy. I took InvenTrac from version 0.1.7 to 0.1.13, with seven releases covering new features, fixes, and a few problems I didn’t notice until I started supporting multiple shops.

I added sales stats for Today, Yesterday, the last 7 and 30 days, and monthly reports. I also fixed timezone issues so sales numbers match each shop’s local time. Another big update is cross-platform product linking, which lets sellers match products between Etsy, Shopify, and Squarespace using SKUs or manual linking. This is also the foundation for inventory sync in the future. I also made Squarespace connection much easier with one-click OAuth and added email login so sellers can manage multiple shops under one account.

Of course, there were plenty of bugs to fix too, from stock updates failing across multiple shops to incorrect inventory totals and some UI issues. Seven releases may sound like a lot, but most changes came from one thing leading to another. Add multiple shops, and you need accounts. Add more platforms, and you need product linking. Add sales stats, and you discover timezone problems. That’s pretty much how building InvenTrac has been going. 😂

The name finally catches up

August 11, 2026

I originally built InvenTrac for Etsy sellers — mostly for my daughter — and for a long time that was its whole identity. The extension literally had “Etsy Inventory Manager” in the name. Then I added Shopify support last week and… never updated the name. Every time I saw it sitting in my extensions bar, it bugged me. Tiny thing, but those tiny things make a tool feel unfinished even when the product itself is solid.

So I finally fixed it. It’s now “Etsy & Shopify Inventory Manager & Stock Tracker.” Not clever, but accurate — which is exactly what you want at 11pm when you’re trying to remember what you built.

The more meaningful update this round is behind the scenes, but you’ll notice it if you ever run into it. If a shop’s connection broke — expired token, revoked access, whatever — the old “Sync now” button would just fail and tell you to retry. Completely useless, because retrying was never going to work. The connection wasn’t hiccuping, it was dead.

Now it tells you the truth: reconnect this shop. One click, done.

— Richard

Why Built InvenTrac

July 16, 2026

InvenTrac started because of my daughter. She runs a small Etsy store and was having trouble keeping track of inventory, low-stock items, sold-out products, and open orders. I watched her jump between different Etsy pages just to see what needed attention. As a software developer, I thought there had to be an easier way, so I started building a simple Chrome extension to help her manage her shop.

The idea is to keep things simple, not replace Etsy or build a huge inventory system. I want to help sellers see what matters without wasting time clicking through pages. InvenTrac now supports more than one platform, and I’m still improving it as I go. If you run an Etsy or Shopify store, I’d love to hear what you think and what problems you have managing your shop.