This is my loop
I built a SaaS that posts to Instagram + TikTok 24/7
I don't write the captions. I don't pick the music. I don't touch it
The stack that runs it while I sleep:
> PHP 8.3, no framework
> Caddy web server
> SQLite in WAL mode
> Cloudflare R2 for video storage
> Cloudflare Tunnel, no open ports
> Stripe for billing
> OpenAI writes every caption
> ffmpeg muxes the music
> Zernio publishes to IG + TikTok
> Vanilla JS + CSS on the front
> one cron job that loops forever
No Next.js. No Kubernetes. No VC
6 years of shipping mobile apps and I’m slowly moving to the web
Not because of the code. Because of the cut
A $100/mo subscription:
→ App Store: $30 gone
→ Small Business Program: $15
→ Past $1M a year: back to $30
→ Web checkout: ~$3 to Stripe
Same app. Same customer. 10x difference in fees.
Mobile devs, what would you do?
You wrote it
Claude fixed two lines
Now it’s marked
> Since Aug 2, Claude’s text carries an invisible watermark
You can’t see it. It survives copy-paste
It’s at the model level
App, API, Claude Code same thing
And it marks what Claude touched. Not what Claude wrote. Proofreading counts
No mark doesn’t mean human either.
So you wrote it, Claude cleaned it up
Whose writing is that?
New update at https://t.co/5l2fAaR9ys
A customer emailed two requests
Both live on the same day
Changelog:
1️⃣ It wasn't able to choose which days to post. It was posting daily. But added which days to post
2️⃣ Loop used to choose only the first app demo. After the update, it will use a different one in each video
To update = run only "git pull"
DB migrates itself
You wrote it
Claude fixed two lines
Now it’s marked
> Since Aug 2, Claude’s text carries an invisible watermark
You can’t see it. It survives copy-paste
It’s at the model level
App, API, Claude Code same thing
And it marks what Claude touched. Not what Claude wrote. Proofreading counts
No mark doesn’t mean human either.
So you wrote it, Claude cleaned it up
Whose writing is that?