whatisgithub

What is horizon?

rethinkdb/horizon — explained in plain English

Analysis updated 2026-06-24

6,737JavaScriptAudience · developerComplexity · 3/5Setup · moderate

In one sentence

Horizon is an open-source backend platform built on RethinkDB that lets front-end JavaScript developers add live data sync, user authentication, and permissions to web apps without writing any server code.

Mindmap

mindmap
  root((horizon))
    What it does
      Realtime backend
      No server code needed
      RethinkDB bridge
    Features
      Live data sync
      User auth OAuth
      Permission rules
      Presence detection
    Tech Stack
      JavaScript Node.js
      RethinkDB
    Use Cases
      Chat apps
      Shared documents
      Realtime dashboards
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

Build a real-time chat app where all users see new messages instantly without page refreshes, using only the Horizon client library.

USE CASE 2

Add Google or GitHub login to a front-end app without writing any server-side authentication code.

USE CASE 3

Sync a shared to-do list across multiple browser tabs in real time using live data subscriptions.

USE CASE 4

Start an app with Horizon's API and later add custom Node.js business logic when the app outgrows what Horizon provides.

What is it built with?

JavaScriptNode.jsRethinkDB

How does it compare?

rethinkdb/horizonpomber/didactgrab/cursor-talk-to-figma-mcp
Stars6,7376,7486,752
LanguageJavaScriptJavaScriptJavaScript
Setup difficultymoderateeasymoderate
Complexity3/52/53/5
Audiencedeveloperdeveloperdesigner

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

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires a running RethinkDB instance alongside the Horizon server before the client library can connect.

So what is it?

Horizon (originally called Fusion during development) is an open-source backend platform for building realtime web applications with JavaScript. It is built on top of RethinkDB, a database designed to push live data updates to applications as changes happen. The project's main goal is to let front-end developers build modern, connected apps without having to write any server-side code from scratch. The platform has two parts working together. The server component runs alongside RethinkDB and handles all the data operations, acting as a bridge between the database and the browser. The client library is a small JavaScript package that developers include in their front-end code to communicate with that server. Together they let a browser tab read and write data, and receive live updates when other users change something, all without the developer needing to set up their own API routes or server logic. The services Horizon planned to expose include live data streaming, user authentication through providers like Google or GitHub, user account management, permission controls to restrict data access, and presence detection to track whether a user is online. These cover the common building blocks that show up in most modern web applications. The project is designed to grow with an application. If a project stays simple, developers can use Horizon's API for everything. Once the app needs custom business logic that Horizon does not cover, developers can add their own backend code in Node.js, Python, or any other language, and that code can talk directly to RethinkDB with full access to its features. The README compares Horizon to Firebase and Meteor. Unlike Firebase, it is self-hosted and open-source. Unlike Meteor, it is a narrower tool that does not impose a particular front-end framework or full-stack structure.

Copy-paste prompts

Prompt 1
Show me a minimal HTML page that connects to a Horizon server, writes a message object to a collection, and listens for live updates from other users.
Prompt 2
I want to add GitHub OAuth login to my Horizon app. What goes in horizon.json and how do I read the logged-in user on the client side?
Prompt 3
How do I set Horizon permission rules so users can only read and write their own records and cannot access other users' data?
Prompt 4
Walk me through starting a new Horizon project from scratch: install Horizon, start RethinkDB, run the Horizon server, and test a write from the browser.

Frequently asked questions

What is horizon?

Horizon is an open-source backend platform built on RethinkDB that lets front-end JavaScript developers add live data sync, user authentication, and permissions to web apps without writing any server code.

What language is horizon written in?

Mainly JavaScript. The stack also includes JavaScript, Node.js, RethinkDB.

How hard is horizon to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is horizon for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.