explaingit

christianselig/apollo-backend

Analysis updated 2026-07-03

3,663GoAudience · developerComplexity · 3/5Setup · hard

TLDR

The archived Go server that powered Apollo, a popular iPhone Reddit app, released publicly to show the app only used Reddit's official API and respected its rate limits before the app shut down in 2023.

Mindmap

mindmap
  root((repo))
    What it does
      Reddit notification server
      Subreddit watcher
      Rate limit compliance
    Context
      Apollo iPhone app
      API pricing shutdown
      Public transparency
    Tech Stack
      Go
    Audience
      Go developers
      Mobile backend devs
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Study a production Go notification system and subreddit watcher as a real-world reference for building similar features.

USE CASE 2

Learn how a high-traffic mobile app backend handled Reddit API authentication and rate limiting at scale.

What is it built with?

Go

How does it compare?

christianselig/apollo-backenddoitintl/kube-no-troublegoccy/go-json
Stars3,6633,6623,664
LanguageGoGoGo
Setup difficultyhardeasyeasy
Complexity3/52/52/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Archived with no setup documentation, the repo is a code reference only and is not designed to be run as a live service.

In plain English

Apollo was a popular Reddit app for iPhone that shut down on June 30, 2023, after Reddit changed its API pricing in ways that made the app no longer viable to run. This repository contains the server-side code that powered the backend of that app. The backend handled things like checking for new notifications for users and letting them set up alerts to watch specific Reddit communities for new posts. The developer, Christian Selig, made this code public for a specific reason: to counter claims made by Reddit's leadership that Apollo was scraping data improperly. The code shows that Apollo only made standard, authenticated requests to Reddit's own API, the same kind of requests that Reddit itself officially supports. It also shows that Apollo put in considerable effort to stay within Reddit's rate limits rather than hammer their servers. The repository is now archived, meaning no new changes will be made and no new contributions are accepted. It exists as a historical record. If you are a developer who worked with the Apollo app or built similar Reddit tools, you may find the code interesting as a reference for how a production notification system and subreddit watcher were built using Go. The README is sparse because the project is no longer active, so there is no setup guide or documentation for running this server yourself.

Copy-paste prompts

Prompt 1
Show me how Apollo's Go backend structured its Reddit notification polling loop to stay under API rate limits for thousands of concurrent users.
Prompt 2
How did Apollo's subreddit watcher detect new posts efficiently without hammering the Reddit API? Walk me through the architecture.
Prompt 3
I'm building a notification service in Go that polls a third-party API for many users. What patterns from the Apollo backend should I follow?
Prompt 4
What Go libraries and patterns did Apollo use for its backend HTTP server and Reddit API client?

Frequently asked questions

What is apollo-backend?

The archived Go server that powered Apollo, a popular iPhone Reddit app, released publicly to show the app only used Reddit's official API and respected its rate limits before the app shut down in 2023.

What language is apollo-backend written in?

Mainly Go. The stack also includes Go.

How hard is apollo-backend to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is apollo-backend for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub christianselig on gitmyhub

Verify against the repo before relying on details.