Stacks / Newsletter

Medium

Loops

Short video you host. Loops is AGPL-3.0 — TikTok without the hosted For You seat.

The problem

TikTok is a hosted short-video graph. You wanted clips and follows on a box you run. Loops is AGPL-3.0 (joinloops/loops-server; last push 23 Oct 2026) — an ActivityPub short-video server. PeerTube is the VOD library already on /replace/youtube — not a TikTok For You feed. Owncast is live streaming — /replace/twitch. This is not TikTok Shop, ads, or the old interest graph. A photo feed stays on /replace/instagram.

Replaces

TikTok

Replace TikTok

Estimated SaaS saved

$1,200

per year, small team, before lock-in

Start on Railway

PeerTube if this is a VOD library, not short video

Sponsor this stack Tip jar

Placeholder: Loops (PHP + a database + a volume for video) as joinloops.org documents. Federation wants a public hostname. No one-click template in this repo yet — Start on Railway. A VOD library stays on /stacks/peertube-video.

The stack

Cost table

You stop payingTypical / yearSelf-host instead
TikTok / hosted short video (small team)$1,200Loops + a video volume

Agent setup prompt

Replace TikTok with Loops (https://joinloops.org).

- Official docs (joinloops/loops-server). Persist the database and video volume. Create one account and one clip. Do not claim TikTok Shop, ads, or a For You graph.
- PeerTube if the job is a VOD library — /stacks/peertube-video. Owncast if the job is live — /stacks/owncast-live.
- Write AGENT_PROMPT.md.

Also as markdown: /stacks/loops-tiktok.md

FAQ

Loops or PeerTube?
Loops if the product is short clips (the published TikTok path). PeerTube if the product is a VOD library — /replace/youtube. They are different jobs.
Is this Instagram?
No. A photo feed is Pixelfed — /replace/instagram.
Are these free?
Loops is AGPL-3.0. You pay hosting and storage. Template users never pay c17.