January 2026: Strong Numbers with Rough Edges

January was one of those months where the numbers tell one story and the experience tells another. On paper, it was my strongest month since going independent. In practice, it was a month of bot attacks, silent bans, AI-generated spam, and a stomach bug that wiped out my third week entirely. But the stats don't lie, and despite everything working against me, the portfolio grew in almost every measurable way.

Before I get into the numbers though, I want to talk about what actually consumed my time and energy in January, because if you're on a similar journey, this stuff matters more than the graphs.


Security: Bots, Livewire & Automated Defences

I wrote about the initial security issues I dealt with previously, but that wasn't the end of it. The exception emails kept coming. Across all sites. Bots were hammering the Livewire update endpoints relentlessly, and while the earlier fixes helped, it was clear I needed something more aggressive.

So I went a bit further. First, I set the Livewire update endpoint to rotate weekly, generating a new randomised path each time rather than using the default /livewire/update. That alone cut down a chunk of the automated attacks since most bots are just blindly hitting known endpoints.

Automated Ban Hammers

I also added a package to help detect and block bot requests before they even reach the application layer. But the real win was automating the firewall. I use Ploi to manage my servers, and Ploi has an API that lets you add firewall rules programmatically.

So I wired up my exception reporting: if an exception is triggered by Livewire endpoint tampering, a job gets queued that calls the Ploi API and adds a deny rule for that IP on ports 80 to 443. Completely automated. Since implementing this, the exception emails have stopped and the botnet-targeted attacks are being blocked without me lifting a finger.

It's one of those solutions that took a few hours to build but saves me from an ongoing headache. If you're running Laravel with Livewire in production, it's worth thinking about this kind of automated defence early rather than playing whack-a-mole with individual IPs.


Product Listing Spam: The AI-Generated Flood

Here's something nobody warned me about. When you list your products on the various product listing and directory sites, you paint a target on your inbox.

Within days of listing, I started receiving a flood of emails. Offers of marketing services, SEO packages, "list your product on our premium directory" upsells, LinkedIn messages from people who'd apparently taken a deep interest in my work. The emails were well-written, too. They referenced the product by name, mentioned specific features, explained why my app was a great fit for their service. For a moment, I almost took them seriously.

Yay AI...

Then I noticed the pattern. Every single one followed the same structure. They'd all clearly scraped the product listing, fed the details into an AI, and blasted out personalised-looking spam at scale. Whether they're running bots that scrape these directories daily for new submissions or doing it manually with AI assistance, I don't know. Either way, it was relentless and a major put-off from using those platforms again.

If you're about to list a product anywhere, use a dedicated email address. You'll thank yourself later.


Reddit: Shadowbanned Before I Even Started

I signed up for Reddit on 6th January with modest expectations. I wasn't planning to spam links to my apps. I just wanted to contribute to conversations in communities where I could offer genuine technical experience and opinions. Comment on posts, give value back, maybe build some presence over time. The kind of thing Reddit supposedly wants.

After about two weeks of doing exactly that, I visited my profile to check if my karma had changed. Zero comments and still 1 karma point. I went incognito to see if my comments showed up in the posts. Nothing. Every single comment I'd made had been silently removed/hidden.

I checked my profile incognito and discovered my account had been banned. No notification. No warning. No explanation. Just two weeks of contributing into the void while Reddit let me believe everything was fine.

Appealing the ban

The appeal process is almost comically bad. You get 250 characters to explain yourself. That's roughly two sentences to justify your entire existence on the platform. I submitted an appeal nearly three weeks ago and haven't heard a word back.

What frustrates me most is the irony. Reddit's aggressive anti-spam measures actively punish the kind of thoughtful, technical contributors they should want on the platform. Meanwhile, actual spammers know the workarounds and just create new accounts. The system catches the genuine users and misses the bad actors.

Off the table

As it stands, Reddit is off the table for any kind of app promotion or community engagement. It's a shame, because the Laravel, SwiftUI and indie dev communities on there are exactly where my audience lives. But I can't engage with them if the platform won't let me through the door.


Losing Momentum

To cap off an already frustrating month, I came down with stomach issues in the third week of January. It knocked me out for the best part of a week, and I never quite managed to get back into the swing of things afterwards. Momentum is everything when you're working solo, and losing it is surprisingly hard to recover from. The promotional work I'd planned for the back half of January just didn't happen.

Despite all of that, the numbers paint a genuinely encouraging picture. So let's get into them.


Jan 2026 Statistics

Website Visitor Stats (Fathom Analytics)

I use Fathom for analytics, and unfortunately ad blockers prevent the JavaScript from loading. I have no problem with this, but it doesn't give a true representation of actual visitors. We can only collate what we can.

Site Visitors Views Avg Time Bounce Rate
Codel 80 115 00:28 77%
Chronode 27 55 01:41 74%
AudiBar 98 121 01:00 92%
BillKit 28 43 00:20 82%
Kanodo 75 122 01:48 73%
Exoden 27 31 00:36 88%

Google Search Console

To give a complete picture, here are the stats from Google Search Console for last month.

Site Clicks Impressions Avg CTR Avg Position
Codel 1 173 0.6% 14.7
Chronode 7 139 5% 10.4
AudiBar 13 172 7.6% 8
BillKit 9 202 4.5% 5.6
Kanodo 5 229 2.2% 5.1
Exoden 1 26 3.8% 6

App Store Stats

Note that Chronode will always have a different trajectory due to being self-published, as it can't be sandboxed for the App Store.

App Impressions Downloads Sales Revenue Proceeds
Chronode n/a 9 $0 $0
AudiBar 2.67K 48 $10.49 $7.84
BillKit 807 6 $0 $0
Kanodo 755 27 $29.99 $25.49

Stats Analysis

January 2026 was a strong month across the board. When you compare against monthly averages from 2025, almost every metric has moved in the right direction with more visitors, better engagement, growing search visibility, and real revenue from multiple apps for the first time.

Website Traffic

The standout performers on a monthly basis are this site (Codel) (up roughly 3x vs its 2025 monthly average) and Kanodo (up around 3x as well). AudiBar continues to be the most visited product site, pulling in 98 visitors which is about 1.6x its previous monthly average.

Bounce rates improved across every single site, which is arguably the most encouraging signal here. Kanodo saw the most dramatic shift, dropping from 97% to 73%, suggesting visitors are actually exploring the site now rather than landing and leaving. Chronode also dropped notably from 85% to 74%. This points to better content, better landing pages, or more qualified traffic, likely a combination.

The one area I need to watch is the average time on site for AudiBar, which dropped from 4:31 to 1:00. That could simply mean the page communicates its value faster now, or it could indicate less engaged visitors.

Search (Google Search Console)

Search impressions grew significantly for most products in a single month.

  • BillKit hit 202 (vs ~88/month in 2025)
  • Kanodo reached 229 (vs ~63/month)
  • AudiBar jumped to 172 (vs ~35/month).

Google is clearly indexing and surfacing these sites more.

Kanodo's search story is particularly notable: it went from essentially 0.3 clicks/month to 5, and its average position improved from 6.0 to 5.1. BillKit dropped slightly, moving from position 3.7 to 5.6, but clicks more than doubled to 9 from a ~4/month average, suggesting it's ranking for more queries overall.

The one concern is this site (Codel) where the CTR dropped from 3.9% to 0.6% despite impressions tripling. The position improved (23.5 → 14.7), so it may be appearing for broader, less targeted queries now. It's probably worth me reviewing what search terms are driving those impressions. Exoden is off to a quiet but healthy start at position 6 with 26 impressions in its first appearances.

App Store numbers

This is where the real story is. In January alone:

  • AudiBar had 48 downloads (vs 31 total across all of 2025) and generated $10.49 in sales — nearly matching the entire previous period's $13.94 in a single month.
  • Kanodo launched and immediately made an impact with 27 downloads and $29.99 in revenue, making it the highest-earning app in January despite being brand new to the store.
  • Chronode pulled 9 downloads in January vs 6 for the whole of 2025, though it hasn't converted to paid sales yet.
  • BillKit is now live and showing 807 impressions and 6 downloads — early days but it's on the board.

Key Takeaways

Kanodo is my breakout product with the best bounce rate improvement, strong search growth, and it's already the top revenue earner in its launch month. AudiBar has found its stride. Downloads and revenue roughly tripled on a monthly basis. It's my most mature product and it's accelerating rather than plateauing.

Engagement quality is improving everywhere. The universal bounce rate drops suggest the sites are doing a better job of converting casual visitors into interested ones. Search is building momentum. Impressions are growing across the portfolio, which means compounding organic traffic ahead. The early positions (most products sitting between 5–10) are within striking distance of page one dominance for their terms.

This site (codel.dev) needs attention. It has growing impressions but a collapsing CTR. I'll have to look into reviewing meta descriptions and title tags to better convert those impressions into clicks, or ensuring it's ranking for relevant rather than vanity terms.

Exoden is the one to watch. Just launched, modest early numbers, but the dev blog work I've been doing should start feeding into its search presence over the coming months.


What's Next

I'm stepping back from active marketing. The ASO work is done across all three App Store apps, and the product listing sites generated more spam than traffic. The reality is that marketing indie apps right now is brutal. Everyone and their dog is vibe coding and publishing new apps daily, and cutting through that noise as a solo developer without a marketing budget isn't something I'm willing to keep throwing time at.

Instead, I'm going all-in on Exoden. The web app is my primary focus for the next three to four months, with a target release of May 2026. The macOS apps will stay in maintenance mode with bug fixes if they're reported, but no new features until users start requesting them. If the apps are good enough to generate downloads and revenue on their own momentum, they'll prove it. If not, that's useful information too.

I'm posting the development work on Exoden via the Dev.to which is also published to the dev log section at exoden.app. If this interests you, take a look!

Part-time work

From June, I'll also be looking for part-time work as a Laravel/PHP developer — ideally three days a week. Whether that ends up being employed, contracted, or freelance is still up in the air. I've heard the freelance platforms like Upwork are brutal right now, with fierce competition and costs that eat into earnings before you've even landed a project.

I haven't decided which direction to go with it yet, but the plan is clear: supplement the indie income with part-time work so I can keep building my own products with the remaining time.

Looking back

Five months into this journey and I'm still learning what's worth my time and what isn't. January taught me that the numbers can grow even when everything else feels like it's working against you. I'll take that.


Comments (0)

Optional. If given, is displayed publicly.

Optional. If given, is not displayed anywhere.

Required with 25 characters minimum

Comments are reviewed for spam and may require approval.

No comments yet. Be the first to share your thoughts!

Stay in the Loop

Occasional updates on new articles and projects. No spam guaranteed