whatisgithub

What is viaduct?

airbnb/viaduct — explained in plain English

Analysis updated 2026-05-18

158KotlinAudience · developerComplexity · 4/5Setup · moderate

In one sentence

An open source GraphQL system from Airbnb where teams host their business logic directly on one shared, central schema instead of separate microservices.

Mindmap

mindmap
  root((Viaduct))
    What it does
      Unified GraphQL layer
      Central company schema
      Connects data sources
    Tech stack
      Kotlin
      GraphQL
      Gradle
    Use cases
      Company wide schema
      Hosted business logic
      Re-entrant queries
    Audience
      Backend developers
      Platform teams

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 single GraphQL schema that many teams across a company contribute to.

USE CASE 2

Host business logic directly inside the GraphQL server instead of separate microservices.

USE CASE 3

Compose reusable logic across teams using re-entrant GraphQL queries.

What is it built with?

KotlinGraphQLGradle

How does it compare?

airbnb/viaductharmony-on-android/hoaamrdoh/clockmaster
Stars158121102
LanguageKotlinKotlinKotlin
Setup difficultymoderatehardeasy
Complexity4/55/52/5
Audiencedeveloperdevelopergeneral

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

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Mac OS X or Linux plus a 64-bit JDK 11 or newer and Gradle.

So what is it?

Viaduct is an open-source framework from Airbnb that uses GraphQL as a single, unified access point for all data inside a company. Instead of having dozens of separate APIs for different databases, services, and data stores, Viaduct lets teams expose everything through one connected graph that spans the whole organization. The project is built around three ideas. First, there is one central schema that covers all domains across the company, even though many different teams contribute to and maintain different parts of it. Second, teams write their actual business logic directly inside Viaduct rather than building separate microservices behind it. This makes Viaduct more like a serverless hosting platform for logic than a simple gateway. Third, any piece of logic hosted on Viaduct can call other logic hosted on Viaduct by issuing GraphQL queries internally, which keeps code modular and avoids the tight coupling that causes problems in large codebases over time. Viaduct is described as running in production at Airbnb at scale. The developer API is still under active development, so parts of it may change. The README links to a user manual, a roadmap, and starter example projects for getting up and running. The simplest example runs a single GraphQL query locally using a provided command-line tool and returns a hello-world response. The project is written in Kotlin and uses Gradle for building. It requires JDK 11 or later and runs on Mac or Linux. Packages are published to Maven Central, and a Gradle plugin is available in the Gradle Plugin Portal. The project is open to external contributions and has a contribution guide and a security policy for reporting vulnerabilities.

Copy-paste prompts

Prompt 1
Explain how Viaduct's re-entrancy model lets one piece of GraphQL logic call another inside the same server.
Prompt 2
Walk me through cloning the Viaduct CLI starter and running my first query.
Prompt 3
Compare Viaduct's hosted business logic approach to a typical GraphQL-over-microservices setup.
Prompt 4
What JDK and OS setup do I need to build Viaduct locally?

Frequently asked questions

What is viaduct?

An open source GraphQL system from Airbnb where teams host their business logic directly on one shared, central schema instead of separate microservices.

What language is viaduct written in?

Mainly Kotlin. The stack also includes Kotlin, GraphQL, Gradle.

How hard is viaduct to set up?

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

Who is viaduct for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.