Why I Shut Down MsgFlash

MsgFlash reached 240 users, processed 800,000+ API requests and made $1,750 in a few months. Here's why I decided to shut it down anyway.

Why I Shut Down MsgFlash: 240 users, 800K+ API requests, $1,750 revenue

I started working on MsgFlash around April 2026.

The idea was pretty simple.

I wanted an easier way for developers and businesses to use WhatsApp programmatically without going through all the complexity of the official Meta ecosystem.

Connect a WhatsApp number with a QR code, get an API key, and start building.

That was basically it.

Then, as these things usually go, I kept adding stuff.

REST API, webhooks, multiple WhatsApp instances, contact groups, campaigns, scheduled messages, media and voice messages, team workspaces, integrations with n8n, Make and Zapier.

I also started working on WooCommerce use cases like abandoned cart recovery and order notifications.

At some point, the small WhatsApp API I wanted to build had become a proper product.

And people actually started using it.

By the end, MsgFlash had around 240 users.

More than 800,000 requests had gone through the API.

I had paying customers from different countries.

The product made around $1,750 in total, and June was actually the best month with around $500 in revenue.

Then I shut it down in July.

Yes, one month after its best month.

So what happened?

Product Hunt wasn’t exactly crazy

I launched MsgFlash on Product Hunt.

The final numbers were:

5 points.

6 comments.

#62 for the day.

#355 for the week.

So yeah.

I did not break Product Hunt.

But that’s also one of the interesting things about this project.

The Product Hunt launch didn’t matter that much in the end.

People kept finding MsgFlash afterwards.

Some created accounts.

Some connected numbers.

Some became paying customers.

Eventually, more than 800,000 requests went through the API.

I care much more about that number than the Product Hunt ranking.

People were actually using the thing.

The technical decision that made all of this possible

One of the reasons I could build MsgFlash relatively quickly was Evolution API.

Instead of requiring users to go through the official WhatsApp Business API setup, they could connect an existing WhatsApp account by scanning a QR code.

The experience was great.

Create an account.

Scan a QR code.

Get your API key.

Start sending messages.

Simple.

It also meant that I didn’t have to build the entire WhatsApp communication layer myself.

At the beginning, this felt like a perfectly reasonable decision.

Why spend months rebuilding something when I could build the product on top of an existing solution?

The problem was that the most important part of MsgFlash wasn’t really under my control.

The flow was basically:

Client → MsgFlash → Evolution API → WhatsApp

I controlled MsgFlash.

If my API had a bug, I could fix it.

If a worker failed, I could investigate it.

If I needed more capacity, I could add it.

If the dashboard sucked, that was my problem too.

All good.

But when something broke further down the chain, things got more complicated.

Nothing was ever completely stable

This was probably my biggest frustration with the project.

Sometimes a WhatsApp instance would disconnect.

Sometimes reconnecting it fixed everything.

Sometimes something behaved differently after an update.

Sometimes it was MsgFlash.

Sometimes Evolution API.

Sometimes WhatsApp.

Sometimes the user’s number.

Sometimes I genuinely had no idea for a while.

And customers don’t really care about any of those distinctions.

They shouldn’t.

If someone pays for MsgFlash and their WhatsApp integration stops working, then MsgFlash isn’t working.

So they contact me.

And now I’m debugging a chain where I only control part of the chain.

That happened enough times that support started becoming something I really didn’t enjoy.

I like debugging my own infrastructure.

Debugging someone else’s infrastructure through my infrastructure is a little less fun.

And then people started getting banned

I had built marketing campaigns into MsgFlash.

In retrospect, this was probably the biggest product mistake I made.

Because if you give people an easy way to send WhatsApp campaigns…

Well.

They’re going to send WhatsApp campaigns.

A lot of them.

Some users pushed things much further than they should have.

Too many messages.

Bad contact lists.

Aggressive sending patterns.

Basically the kind of behavior Meta really doesn’t want on WhatsApp.

Then their numbers would get restricted or banned.

And then, naturally, they would contact me.

There wasn’t a secret MsgFlash button that could unban a WhatsApp number.

But I still had to investigate what happened, explain it, help where I could and deal with all the support around it.

After a while I realized I was spending time fighting a system I didn’t control because of things users were doing that I also couldn’t completely control.

That’s a pretty bad combination.

The weird part is that it was making money

June was MsgFlash’s best month.

Around $500 in revenue.

Then I shut the project down in July.

That’s probably the part that sounds strange.

Usually when someone writes about shutting down a side project, you expect the next paragraph to be:

“No one used it.”

That wasn’t the case.

240 users.

800,000+ API requests.

Customers from different countries.

Around $1,750 in total revenue.

Again, these aren’t massive SaaS numbers.

But this was something I had started only a few months earlier.

There was clearly enough there to continue experimenting.

I could have increased prices.

I could have added stricter sending limits.

I could have removed campaigns.

I could have banned problematic users faster.

I could have improved monitoring.

I could have kept fixing connection issues.

And I probably could have kept making money.

I just didn’t want to keep operating it.

That’s really the reason I shut it down.

I think I chose the wrong use case

I don’t think building something around WhatsApp was necessarily the mistake.

If I rebuilt MsgFlash today with the same infrastructure, I’d probably make it much more boring.

No marketing campaigns.

Just transactional messaging.

Order confirmed.

Package shipped.

Appointment tomorrow.

Payment received.

Here’s your OTP.

That kind of stuff.

Basically an API for applications that need to send useful WhatsApp messages when something happens.

Giving someone an API for transactional notifications is very different from giving someone a tool to upload a list and blast thousands of WhatsApp messages.

By building campaigns, I attracted people who wanted campaigns.

Pretty obvious when I write it now.

It wasn’t as obvious when I was building features.

I also think differently about infrastructure now

For a while my conclusion was:

“I should own my infrastructure.”

But that’s not really the lesson.

Nobody builds everything themselves.

I use servers I didn’t build, databases I didn’t write, open source libraries written by other people, payment providers, cloud services and a bunch of other things.

That’s software.

The question is where the dependency sits.

WhatsApp connectivity wasn’t a random dependency somewhere inside MsgFlash.

It was basically the reason MsgFlash existed.

I could build the best dashboard in the world.

I could have a beautiful API.

Perfect documentation.

Great monitoring.

Fast servers.

None of that mattered if the layer underneath the main feature became unstable.

That’s the part I underestimated.

Now when I’m building something on top of another platform, I think more about what happens when that dependency breaks.

Can I replace it?

Can I switch providers?

Can I fix the problem myself?

How much of my product disappears if it stops working?

And most importantly, if it breaks and my customer calls me, can I actually do something about it?

With MsgFlash, sometimes the answer was basically:

“Not really.”

Anyway, that’s MsgFlash

MsgFlash started in April 2026.

I launched it on Product Hunt.

Around 240 people created accounts.

More than 800,000 requests went through the API.

I got paying customers from different countries.

June was the best month with around $500 in revenue.

It made around $1,750 in total.

And I shut it down in July.

Could I have kept it running?

Probably.

Could I have changed the positioning and made it transactional-only?

Probably.

Could I have rebuilt parts of the infrastructure and kept going?

Also probably.

But just because I can keep building something doesn’t mean I should.

MsgFlash did what I needed it to do.

I built something, put it on the internet, got people I didn’t know to use it and pay for it, dealt with actual production problems, processed more than 800,000 API requests and learned a few things I probably wouldn’t have learned from another side project sitting on localhost.

That’s enough.

I shut it down in July.

Onto the next one :)