About

Why Topicle

What Topicle is trying to do differently, and why.

I've been working on a Reddit-alternative called Topicle for a few years now. The increasingly user hostile direction Reddit has taken over the past few years, especially since the IPO, has been disappointing and has significantly diverged from how it was in the 2010s. The API shutdown leading to the moderator exodus, killing third-party apps, rampant astroturfing, bot accounts in every thread, private profiles that seem to intentionally obscure whether someone is a bot, declining quality of comments and posts.

There was also the design side of things. Old Reddit has been on borrowed time for years now and may eventually disappear. So when I started building an alternative, that was one of the goals: something that takes inspiration from Old Reddit and preserves the spirit in case it goes away, but with an attempt at a more current design and implementation from the 2020s and made using modern frameworks and tools.

What makes it different

Moderator accountability

Mod actions are logged and visible. There's automated detection for mod abuse patterns, and admins can restrict mod permissions or issue warnings. Communities cannot be held hostage by anyone. Every mod action can be appealed. I've been on the wrong end of unjust actions myself and want to ensure that doesn't happen here.

No algorithmic feed

There's no engagement-optimizing algorithm deciding what you see, and posts are never paid for. The default post sort "Active" brings threads with new replies to the top, so a conversation that is still going is easy to find and join. A reply from the post's own author doesn't count. The "Depth" sort is still there: it promotes long-form content, and demotes easily digestible images and memes that tend to dominate vote-based feeds. Comments have a "Quality" sort that promotes more thought-out comments over jokes and one-liners.

Automated bot and spam detection

The platform runs multiple layers of automated detection for spam, manipulation, and inauthentic behavior.

No private profiles and visible country flags

Every user's post and comment history is visible, and country flags are shown alongside posts and comments based on where you're posting from. This makes it much harder for bots and astroturfers to operate without being noticed, and lets you judge credibility for yourself.

Hosted in Australia

The servers and data are located in Melbourne, Australia. With increasing uncertainty around US-based platforms and government pressure on tech companies, having servers located outside the US seems to be advantageous. As much as possible is edge cached near you via bunny.net CDN, so it should still be fast and responsive, regardless of where you are located in the world.

GDPR and CCPA compliant

Accounts can be fully deleted and personal data can be exported. European and Californian privacy regulations are adhered to as a baseline. Minimum amount of information is captured to run the site.

SFW-only at launch

Age verification laws are a mess around the world and rather than requiring everyone to scan their face, the simpler path is just to disallow NSFW content for now. The majority of interesting content on Reddit is not NSFW. Once the laws stabilize and there's less invasive ways of proving age (or maybe the laws get scrapped entirely), this can be revisited.

Country flags you can trust, without blocking VPNs

VPNs are widely used to sockpuppet other countries, particularly people pretending to be American to influence American political discourse. This became apparent when Twitter added its country of origin feature and tons of political accounts were revealed as not actually based in the US, despite claiming to be in their bio. Topicle originally blocked VPNs and datacentre IPs outright so the country flag next to each user could be trusted. That turned out to be the wrong tool: the flag is what matters, and it can be kept honest on its own. Flags are only ever set from a verified connection, an account seen only over a VPN shows "Location unverified" instead of a flag, and stale flags are marked as such. So VPN users can now post, and abuse is handled by looking at behaviour rather than at the tool.

Other features

There's a full feature list on the About page if you want the details, but the short version: it's fairly full-featured at this point. Communities with customizable settings, flairs, rules, and per-community domain blocklists. Text, link, and multi-image posts with thumbnails and auto-generated TLDR summaries. Threaded comments with multiple sort options. Full-text search. Embedded media for YouTube, Twitter/X, and Bluesky. DMs and modmail with typing indicators and conversation archiving. Google login. User tags (like a built-in RES). Session management. Ban appeals with automatic content restoration. Reporter quality scoring (bad-faith reporters get deprioritized). Dark mode. Keyboard shortcuts. Fully responsive mobile experience. Live notifications via websockets.

Tech stack

  • Backend: Swift/Vapor with PostgreSQL and Redis
  • Frontend: React Router 7 with SSR, TanStack Query, heavily modified Bootstrap + Tailwind
  • Search: Meilisearch (self-hosted)
  • CDN/DDoS: Bunny.net
  • Bot protection: ALTCHA (invisible, self-hosted)
  • Analytics: Umami (self-hosted, privacy-focused, no Google or Facebook listening in)
  • Observability: Grafana, Prometheus
  • Server: Docker, Ubuntu, Nginx, Resend

Where it's at

Obviously this is not going to replace Reddit, but it's worth taking a shot at tackling some of the problems that Reddit seems less interested in solving and see whether I can make a dent. I've been several years into this now and pretty invested in seeing it get some traction. I've personally been working as a software dev since 2009 including a stint in bigtech, so making software is something I'm pretty familiar with.

One disclosure that needs to be made is that there is artificial activity on the site right now. This is the classic 'cold start' or 'chicken and egg' problem, where a social platform without activity cannot attract users, but you need users to produce activity. The way the Reddit founders solved that was sockpuppeting accounts and posting stuff themselves via numerous user accounts. I've just automated that. They will get turned off the moment a self-sustaining amount of user activity is happening. Yes, it's all very ironic that I'm trying to start a site based around authenticity and there's artificial activity, but an empty site is a dead site, so I've had to compromise on this one issue, and hopefully only very temporarily.

There's a feedback button on every page in the bottom-right hand corner of the screen. This dialog that appears takes bug reports or feature suggestions. Both are welcome, please feel free to report any issues or give any feedback that might come to mind.

If any of this sounds interesting, I'd appreciate you checking it out. And if you're inclined, create a community for something you care about.

On a phone: Topicle has native apps for iOS and Android, including a direct-download Android build for phones without Google services.