Turning a freelance gig into a $150k/yr product

Vikash Kumar Prajapati turned a freelance gig into a script. Then, he turned that script into a product. Now, Bulk Mockup is bringing in $150k per year.

Here's Vikash on how he did it. 👇

I'm Vikash, a non-technical founder from India. I joined IBM straight out of college in 2015 — a great job on paper, but I took screenshots and compiled reports. Nine months in, I realized I didn't want to waste my life doing that. I quit without a backup plan and moved back home. Freelancing Photoshop work on Upwork paid the bills. There was no runway, no savings cushion, no grand vision. Just gigs.

One day, a client wanted to automate Smart Object replacements in Photoshop. I had no idea how, but I took the job anyway. I spent a night on Stack Overflow learning just enough JavaScript and hacked together a working script. Later, I applied for a gig where a client needed 1,800 mockups. He expected it to take 2–3 days and offered $100. My script completed the task in 30 minutes. I didn't explain how; I simply asked for $300, and he wired it without a second thought.

That's when I stopped thinking like a freelancer and started thinking like a product builder.

That product became Bulk Mockup. It batch-replaces Smart Object layers in Photoshop, allowing print-on-demand and Etsy/Shopify sellers to generate hundreds of mockups in minutes instead of hours.

Since launching in 2019, it has grown from a plugin into a web app and a Shopify app. Alongside it, I run Make & Sell, a weekly newsletter for ~7,000 Etsy and Shopify sellers. And I recently cofounded TubeAlfred — YouTube served as my entire distribution engine for Bulk Mockup, so I'm now building the YouTube data tools I wished existed.

Bulk Mockup does about $150k ARR. I quote it annually rather than monthly because my revenue is seasonal — my customers are Etsy and Shopify sellers, so my business breathes with theirs. Q4 is when they're printing money on holiday orders and buying every time-saving tool, so my signups and MRR peak in the September–November window and cool off through summer.

My validation was when that client wired me $300. Not a survey, not a landing page test, but a stranger paying 3x the asking price without hesitation because the time saved was so obviously worth it. Upwork is full of business ideas hiding in plain sight: Every job posting is someone literally telling you what pain they'll pay to remove.

I didn't build a SaaS at first — because I couldn't. I'm not a technical founder. I barely understood the JavaScript I'd written. I sold the raw script as a one-time purchase, then locked myself in my room for two months and wrapped it in a genuinely bad UI.

I didn't know how to do license validation or user management, so I sold lifetime deals for the first couple of years. I couldn't build anything else. Only once I had enough cash flow did I hire a developer from Upwork to rebuild it properly. It was never elegant. But it solved a real problem, and that's what kept it moving.

It didn't cost me any money, but it took more time than any sane person would admit.

The core product uses the least glamorous stack you'll read about. As I said, the first version was a single JavaScript file — a Photoshop script I taught myself to write overnight from Stack Overflow. The productized version used Adobe's CEP (Common Extensibility Platform), the platform for Photoshop plugins back then. It was essentially a web page running inside Photoshop.

Today, the plugin runs on UXP, Adobe's modern plugin platform, which we migrated to when Adobe deprecated CEP. Technology was never the hard part — knowing exactly which manual workflow to automate was.

My business model has evolved with my capabilities.

I offered one-time purchases in 2017 at $47 — not because lifetime deals were a smart strategy, but because I didn't know how to build license validation or user management. I literally couldn't charge a subscription. That got me to roughly $1.5k/mo.

Those lifetime deals became the bridge. A couple of years of them generated enough cash flow that I could return to Upwork, where it all started... but this time, I posted a job instead of applying for one. I hired a developer who properly rebuilt the plugin: real licensing, real user management, and good UI. That rebuild let me switch to subscriptions and turn a hacky script into an actual business. I switched to subscriptions at $8/month or $47/year. At this point, the business was making about $4k/mo, but then revenue flatlined. So, I bumped up the prices to $15/month or $77/year and hit $8k/mo within two months.

The lesson I took from the process: You don't need to build it right; you need to build it real. Ugly and shipped beat elegant and imagined for two straight years before I could afford elegant.

Expansion now comes from surface area, not from repricing loyalists. In 2026, we added a web app (which kills the Photoshop dependency — my #1 objection for six years), a Shopify app, and a template library. We grandfather existing customers.

I built this with one channel: YouTube.

I create tutorial videos around my ICP's pain points and demonstrate Bulk Mockup as the solution. None of my videos go viral — they get 100-200 views each — and that's fine. They're problem-focused, not entertainment. And they bring customers every single day. The channel has 170+ videos, and analytics show 47% of views come from YouTube search and another 19% from Google search.

That's the whole engine: My videos rank on both platforms, and people searching for a specific problem find a video that solves it — with my product in it.

Finding what to make videos about is the real skill. I hang out in Etsy/Shopify communities and watch which posts get heavy engagement — repeated questions are content ideas.

My other trick: I check competitors' videos for high comment counts. Lots of comments mean unresolved objections and big pain points. I make the same video, but I answer every objection in those comments. It works every time.

Other than that, I've explored SEO. It brings in traffic and conversions when I repurpose YouTube content as a blog post. Affiliate marketing performs decently as well — a few Etsy coaches use and promote the product in their communities. Meta and YouTube Ads didn't work because I didn't put in the required effort.

The biggest obstacle wasn't business — it was my health.

Before BulkMockup, I ran an

I spent years grinding 14–16 hours a day. Including a stint running an e-commerce brand that gave me panic attacks despite doing $2k/day. Last year, it all caught up with me: spinal surgery. I likely could have avoided this if I'd treated my body as well as I treat my product.

I learned the hard way that revenue and well-being are completely separate metrics, and I'd been optimizing only one.

This time, with tubealfred.com, I have a cofounder to help navigate the technical side, and I'm taking my health seriously, avoiding long hours. I always optimize my day for high-impact tasks.

My single best decision was treating customer support as education, not ticket resolution. When customers reach out, we ask for their actual files and record custom video walkthroughs — we have over 1,500+ recordings over three years.

It's why most of my 100+ five-star reviews mention support, and it's also my content research: Those recordings surface edge-case problems no keyword tool would ever show me.

My other good decision was joining indiemastermind.com. Ayush runs this small indie hacker community. It has provided a lot of value during my scaling journey.

Here's my advice:

  • Don't brainstorm ideas — harvest pain. Freelance platforms, community threads, YouTube comments on competitors' videos — people constantly tell you in writing what they'll pay to solve.

  • Then, solve one tiny problem completely. Bulk Mockup does exactly one thing — batch mockup generation — and that narrowness is a feature. Small problems have desperate searchers, low competition, and obvious messaging. You don't need a platform; you need a painkiller.

  • Ignore vanity metrics. My videos get 100–200 views and bring customers daily. A video with 370 views got me three paying subscribers. The question is never "How many people saw this"; it's "Were these the right 200 people, searching for the exact problem I solve?"

  • Talk to your customers even when the product is $15/mo and self-serve. Every support conversation rolls free market research, content ideas, and retention into one. Most founders think support doesn't scale — mine became my growth engine.

  • And the most costly lesson: No revenue number is worth your health. My 14–16 hour days led to spine surgery. Build the business around a sustainable life from day one; you can't refund the hours later.

Near-term, I plan to rebuild the organic acquisition engine — restarting the SEO and content work that initially drove growth, treating it as a system that never switches off.

Product-wise, I aim to meet sellers wherever they are. The Photoshop plugin will always be the flagship, but the web app and Shopify app remove the biggest barrier — needing Photoshop at all — and I want them to grow into full peers of the plugin.

Beyond Bulk Mockup, I'm growing TubeAlfred, because YouTube tooling is a problem I experience daily. And I'm also growing Make & Sell, my newsletter, which is my way of staying close to sellers across their whole journey — not just the mockup moment.

Personally, I aim to build all of it at a pace my spine approves of. Sustainable beats fast — I have the surgical receipts to prove it.

You can follow along on X and LinkedIn. And check out either TubeAlfred or Bulk Mockup and its YouTube channel.

Indie Hackers Newsletter: Subscribe to get the latest stories, trends, and insights for indie hackers in your inbox 3x/week.

Support This Post

Leave a Comment

  1. 1
    "Harvesting pain" on Upwork is the real cheat code for SaaS validation!
  2. 2
    Really interesting case study. I especially liked the idea of “harvesting pain” instead of trying to brainstorm the perfect startup idea. Finding a problem that people are already paying to solve seems like a much more practical way to build a product. The YouTube strategy is also a great example of how consistent, problem-focused content can work even without huge view numbers.
    1. 1
      "Harvesting pain" is definitely the core takeaway here 💡 Searching for existing friction points on Upwork or in comment sections completely removes the guessing game of whether anyone will actually pay for a solution. That point about YouTube was huge too! Getting 100 views from someone in the middle of a frustrating workflow turns out to be way more valuable than 10k views from casual scrollers 📈
  3. 1
    That detail about recording 1,500+ custom Loom videos for customer support is such a hidden goldmine 🎥 Most people see support as an expensive time sink, but turning those actual user files into a free market research loop and content pipeline is brilliant! It's also a great reality check on video metrics getting 100 views from people actively trying to solve a super specific problem beats 10k passive views every time 🎯
  4. 1
    Hey so just an quick question, i see you wrote about your Acquisition Channel (Organic Acquisition Engine as you called it) Being youtube and i am doing research on an tool that i build, now do you still get result's from these youtube videos because most users nowadays don't go to youtube for an problem focused search but they go to AI like ChatGPT also these videos, are they short-form or long-form content ?
  5. 1
    Interested