# Introduction

Welcome to the Speckle Developer Docs - a single source of documentation on everything Speckle! If you're looking for info on how to use Speckle, check our user guide.

Speckle is the open source data platform for architecture, engineering, and construction. It liberates your data from proprietary file formats and closed source software and puts it back into your hands.

This part of our docs is for any developer planning to extend, integrate or improve Speckle. We'll walk you through the main concepts behind our tech and guide you through fun tasks such as writing your own connector or writing custom Speckle apps.

We hope to see the great things you'll do with our SDKs and APIs, let's go!

# Speckle, The Platform

We call Speckle a data platform but Speckle is also a set of connectors for AEC applications. There are Speckle kits, which are the base of our approach to interoperability. Then there are various Speckle apps - like the Speckle 3D viewer, the Speckle Web UI, the Speckle Server...

That's quite a lot to chew, but you're probably still asking yourself - what is Speckle?

# Ultimately, Speckle has two distinct parts: the developer platform, and the applications and products built on top of it.

So what's what? Simple: if an architect/engineer/AEC professional interacts with it, it's a Speckle product built on top of Speckle's developer platform.

The developer platform consists of code that makes it easier for us (and you!) to build user-facing applications - either web-based or desktop-based.

This section is about the platform, and not about the products. If you want to see how to use Speckle as an architect or engineer, check our user guide.

# Code Repositories

Our platform is made of many moving parts, the code for anything Speckle 2.0 onwards is hosted in our GitHub specklesystems organization (opens new window). Here's a quick summary of the main repos you'll find there, please make sure to give them a star ⭐️ if you like what you see!

Speckle Server (opens new window) contains all the web-based applications including the server backend, the frontend web application, and the 3D viewer.

└── speckle-server
    ├── server
    ├── frontend
    └── viewer
1
2
3
4

Speckle Sharp (opens new window) contains all the C# desktop components including the .NET SDK, the connectors (Rhino, Revit, Grasshopper, & Dynamo...), and Objects (our default interoperability kit).

└── speckle-sharp
    ├── core
    ├── connector revit
    ├── connector rhino
    ├── connector dynamo
    ├── connector grasshopper
    ├── connector autocadcivil
    ├── desktopui
    └── objects
        ├── objects
        └── conerters
            ├── revit
            ├── rhinogh
            ├── dynamo
            └── autocadcivil
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

To put it simply, Speckle Sharp is what you use to free your data from different models and desktop applications and Speckle Server is where you send all this data and interact with it in the browser.

Speckle Py (opens new window) is our Python SDK. Are you more of a pythonista than a .NET ninja? Have a play with it!

Speckle Unity (opens new window) is our Unity Connector, it might make it inside Speckle Sharp in the future.

# Additional tools

Inside our GitHub organisation you'll also find a few additional tools you might want to check out, for example, the two below.

Ever struggle with janky behaviour in Grasshopper as things start getting complicated? You might enjoy the GrasshopperAsyncComponent (opens new window). Do any dev work in Revit and want a handy tool for viewing and running unit tests? xUnitRevit (opens new window) might be exactly what you've been looking for.

Before using any of our software or websites, please make sure you read and understand our terms of use (opens new window), privacy policy (opens new window) and trademark usage policy (opens new window).