FAQ
General
What is Bubbles?
A community-ranked feed of blog posts from independent, personal blogs. New posts flow in automatically from curated sources. You vote on the good ones. The good stuff bubbles up. The rest pops. Bubbles launched on March 21, 2026.
Who is this for?
Anyone who misses the old web. People who enjoy reading blog posts about things other than startups and JavaScript frameworks. If you've ever fallen down a rabbit hole on someone's personal website and thought "why can't I find more stuff like this?", that's who this is for.
Is this like Reddit?
Structurally, a little. People vote on things. But nobody submits links. Everything comes in automatically from RSS feeds of thousands of curated blogs. There's no self-promotion, no karma farming, no moderators removing your post because it violated rule 7b.
Why "Bubbles"?
Because good writing bubbles up. Because every blog is its own little bubble. Because the front page is ephemeral, like soap bubbles: what shimmers today will be gone tomorrow.
Sources
Where do the blogs come from?
We drew from various curated sources, including ooh.directory, indieblog.page, Bear Blog, blogroll.org, IndieWeb Webring, and personalsit.es. There is no automatic sync with any of these. Blogs newly listed there don't automatically appear on Bubbles.
How do you decide which blogs to include?
Every blog was reviewed individually. We filtered out blogs that are clearly commercial, heavy on ads, only republishing other people's content, or haven't published anything in years. Broken feeds and unreachable servers were skipped as well. What's left is personal, independent writing. Blogs that consistently publish more than one or two posts per day get flagged and removed. Bubbles is for writers, not content machines.
Can I suggest a blog?
Anyone can suggest blogs. Send the blog URLs to suggest@bubbles.town and we'll take a look. Before you submit, please check that the blog meets our criteria:
- Personal and independent. A private blog written by one person. No company blogs, brand publications, or team newsrooms.
- Personal voice. The author writes in their own voice, with opinions and perspective. No neutral reporting, no AI-generated content.
- Active. At least one post within the last 12 months.
- Moderate pace. Not more than one or two posts per day on average. Bubbles is for writers, not content machines.
- Open content. Posts readable by anyone on the public web. No paywalls, no memberships, no gated content. Excerpts in the feed are fine as long as the full article is free to read on the blog.
- No ads or commercial focus. Occasional author-run sponsorships are fine. Heavy ad blocks, affiliate farms, or blogs that exist to sell a product are not.
- Original writing. No link roundups as the primary output, no pure-repost aggregators, no content scraped from other sites.
- Nothing illegal or harmful. No content that is illegal under German or EU law, no harassment, no targeted hate.
If a blog doesn't quite fit these criteria but you think it belongs on Bubbles anyway, submit it with a short explanation why.
My blog doesn't appear on Bubbles. Why?
Your blog may not have met our criteria, or your RSS feed had issues when we
last checked. A common reason: your robots.txt tells our bot to
stay away (see the next question). If you think something is wrong, email us
at feedback@bubbles.town.
How does Bubbles handle robots.txt?
robots.txt is a small file at the root of your site
(example.com/robots.txt) where you tell automated tools
whether they may visit, and which paths are off limits. Bubbles checks
it before every fetch and respects what it says, including nightly
re-checks for blogs already in our list.
If your robots.txt blocks all bots with the line
Disallow: / under User-agent: *, Bubbles will
not include your blog and existing entries will be deactivated on the
next poll. This affects more blogs than you might think: some blog
platforms (Bear Blog, Blogspot, certain Wordpress privacy plugins) ship
this rule by default, often without the author noticing.
If your feed works fine in apps like Feedly, Inoreader, or NetNewsWire,
that does not mean your robots.txt allows it. Most feed
readers do not check robots.txt at all, they just request
the feed URL. Bubbles is stricter on purpose, since it is a public
aggregator and not a personal reader. The check above is the one that
matters for inclusion here.
To explicitly allow Bubbles while keeping other bots blocked, add a
block for our user agent token BubblesBot to your
robots.txt:
User-agent: BubblesBot Allow: /
Place those two lines anywhere in the file, as their own block (not
inside the * group). To verify, open
yourdomain.tld/robots.txt in a browser and check that
the snippet is there.
One important asymmetry: Bubbles re-checks robots.txt on
every poll and will deactivate a blog as soon as it sees a new block,
but it does not re-activate blogs once they have been removed, even if
the rule changes later. If your blog was deactivated and you have
since added the BubblesBot snippet, please email
hello@bubbles.town and we will
put it back on the list.
Can I see the full list of blogs?
Yes. We publish the complete list of all active blogs: blogs.txt (plain text) and blogs.opml (OPML, importable into RSS readers).
I don't want my blog on Bubbles.
Email us at feedback@bubbles.town and we'll remove it. No questions asked.
Voting and ranking
How does the ranking work?
Two things matter: votes and time. Every post starts equal. Votes and comments push it up, time pulls it down. The full formula is on the about page.
How much does my vote matter?
A lot. A single vote can keep a post on the front page for half a day. Comments count equally. Fresh votes on new posts have the most impact.
Can I downvote?
No. You can vote something up or not. If a post isn't interesting, it sinks on its own.
Fediverse and accounts
Do I need an account?
To read, no. To vote or comment, you need a Fediverse account.
What's the Fediverse?
A network of connected, independent social platforms. Mastodon is the most popular one. You create a free account on any Fediverse server, and that account works across all of them, including Bubbles.
Why Fediverse and not email/password login?
We don't want to manage accounts. No passwords to store, no emails to verify, no spam accounts to moderate. The Fediverse handles identity for us, and no single company controls it.
I don't have an account. Where do I sign up?
mastodon.social is the largest server. Create a free account, then use it to log in to Bubbles. Takes about two minutes.
Which platforms are supported?
Anything with Mastodon-compatible OAuth: Mastodon, Pixelfed, GoToSocial, Pleroma, Akkoma, Misskey, Sharkey, Hometown. Bluesky, Lemmy, and Threads are not supported.
How do comments work?
Every blog post on Bubbles gets a corresponding post on @bubbles@social.bubbles.town. Reply to that post from your Fediverse account, and your comment shows up on Bubbles.
Are comments moderated?
We can hide individual comments if needed, but we don't actively moderate. You should report problematic comments on the Fediverse instance where they were posted.
I'm a blogger on Bubbles. Can I get a notification when someone comments on my posts?
Yes, if you want to. Add this to your blog's homepage, replacing the handle with your own:
<meta name="bubbles:fediverse" content="@you@your.instance">
From then on, @bubbles mentions you in the post that announces each of your articles. Replies and reactions show up in your usual Fediverse notifications. Bubbles checks the tag every few hours; remove it and the mentions stop on the same schedule. Already-announced posts stay unchanged.
Wrong category on a post?
Tap the category label on any list, detail, or briefing page to suggest a better fit. When two different signed-in users propose the same alternative, the category updates automatically. Each post can be auto-corrected once; further suggestions are still recorded but no longer change the label.
Can I hide posts or whole blogs from my view?
Yes, when you're signed in. Tap "hide" in the post's meta line to drop it from your lists, briefings, and personal feeds. On a blog's source page use the "Hide blog" button to drop every post from that author at once. Manage what you've hidden via the links on your votes page: /hiddenposts and /hiddenblogs let you un-hide anything you want back. Public RSS feeds are unaffected.
Reading and tools
What are Top, New, Hot, and My?
Top is the front page, ranked by votes, freshness, and community engagement. New shows every post as it comes in, unranked. Hot shows posts generating discussion right now. My shows new posts only from blogs you follow (visible when logged in). Scores are recalculated every fifteen minutes.
What is Briefing?
Briefing is a finite daily edition of the top posts
on Bubbles, published once a day at 06:00 Europe/Berlin. Unlike Top and New,
a Briefing is static: when you reach the end, you're done, and the next one
arrives tomorrow. Archive URLs like /briefing/2026-04-22 are
permanent, and you can subscribe via Atom at /briefing/feed.
What are the categories?
Every blog on Bubbles is assigned a category based on its primary focus: Art, Crafts, Culture, Film & TV, Food, Gaming, History, Life, Music, Nature, Politics, Science, Tech, and Writing. You can filter any view by category using the dropdown next to the navigation tabs.
Does Bubbles use AI?
Not for running the site. Posts, votes, comments, ranking, search, and the category assignments all go through plain code. Categories are decided by a small statistical classifier (Naive Bayes) that ships with the binary and runs on the Bubbles server, with no external service involved.
For writing the code itself, I use Claude Code as a coding assistant during development. That is a tool used to produce the source, not a system the running site depends on. The deployed Bubbles never makes calls to any AI service at runtime.
How do I follow a blog?
Visit any blog's page (click the blog name next to a post) and hit the Follow button in the top right. New posts from that blog will then appear in your My feed. You can also discover which blogs you vote on most under Your Favourite Blogs.
What are the Classics?
Classics shows the all-time most voted posts and blogs on Bubbles. A good starting point if you're looking for blogs to follow.
Why did a post disappear from Top?
Everything fades over time. Even a well-voted post will eventually sink as newer content comes in.
Can I subscribe via RSS?
Yes. We have feeds for every view, filtered by vote count, and more. See the RSS page for the full list.
How does the search work?
Both site search and the search feed share the same query syntax. You can combine a few simple operators:
- Multiple words are AND-joined.
rust gamedevfinds posts that contain both words, in any order. OR(or the pipe character|) lets you match alternatives.manga OR comic OR animereturns posts that contain at least one of the three. Case does not matter, soorworks too.- A leading minus excludes a word.
pasta -recipereturns posts mentioning pasta but not the word recipe. - Combine groups:
manga anime OR comic -nsfwparses as "(manga and anime) or (comic but not nsfw)". AND and NOT apply within each OR group.
Are there keyboard shortcuts?
Yes. Press ? on any list page to see them. Navigate entries with j/k, vote with v, open articles with o, jump between views with t, n, h, m. Press r anywhere to open a random post.
Can I change how Bubbles looks?
Yes. The button in the footer cycles through several themes including dark mode, OLED, sepia, and a few surprises.
I'm reading a blog post. Is it on Bubbles?
You can look up any blog post URL on Bubbles. If the post is listed, you'll see its entry page where you can vote and read comments. Two ways to do this:
- Bookmarklet (desktop): Drag Open on Bubbles to your bookmarks bar. Click it on any blog post.
- Share menu (mobile): Install Bubbles as a PWA (look for "Install" or "Add to Home Screen" in your browser). Then use your phone's Share button and pick Bubbles from the list.
Are there any easter eggs?
Click the Bubbles logo for a random post. And if you know the Konami code, try it.
Privacy
What data do you store?
Your Fediverse handle, your votes, and which blogs you follow. That's it.
What don't you store?
Emails, passwords, IP addresses, browser fingerprints, tracking cookies. We use Plausible for cookieless analytics, self-hosted on a server in Germany. Our dashboard is public.
Can I delete my data?
Yes. Email feedback@bubbles.town and we'll remove your votes, follows, and handle from the database.
Do you use cookies?
One session cookie to keep you logged in. It's httpOnly, secure, and expires after 30 days. No tracking cookies, no cookie banners.
Meta
Who made this?
Ben from Mülheim, Germany. Find me on the Fediverse at @viermalbe@troet.cafe. If you want to support the project, here's how.
Is this a company?
No. It's a personal project. No ads, no monetization, no user data sales.
Is it open source?
Not yet. Maybe someday.
What is Bubbles built with?
Go, SQLite, server-rendered HTML, and a small amount of vanilla JavaScript. No frameworks, no build steps.
I found a bug.
Email feedback@bubbles.town. We appreciate it.
Can I show the Bubbles vote count on my own blog?
Yes — drop a tiny snippet under your post and it shows the live count as a text link. See the embed guide.