Maarten Balliauw
Building a Friendly Kotlin SDK to Connect to JetBrains Space
#1about 1 minute
An introduction to building a friendly SDK for an API
The talk will cover the process and technology behind the Kotlin SDK for JetBrains Space, focusing on code generation and developer experience.
#2about 7 minutes
An overview of the JetBrains Space integrated team environment
A tour of core features in JetBrains Space, including dashboards, calendars, Git repositories, issue tracking, and chat, shows how they are all integrated.
#3about 6 minutes
Exploring the extensive Space HTTP API via the playground
The API playground provides a way to discover all available endpoints and learn how to shape responses using the `fields` query parameter.
#4about 3 minutes
Why code generation was chosen for the SDK
Handcrafting the SDK was impractical due to the API's large size and frequent changes, leading to the decision to use custom code generation.
#5about 7 minutes
Powering code generation with a custom metadata API
A dedicated API endpoint exposes the entire internal schema of Space, providing a rich metadata model for generating type-safe DTOs and enums.
#6about 3 minutes
Using KotlinPoet for a model-based generation approach
The KotlinPoet library enables a safe, model-based approach to code generation, which prevents common errors and ensures well-formatted output.
#7about 4 minutes
Designing the SDK for discoverability and ease of use
The SDK's structure mirrors the API playground and provides a strongly-typed builder for selecting response fields, improving developer experience.
#8about 6 minutes
Improving usability with a DSL and factory methods
Manually crafted features like a chat message DSL and factory methods for identifiers are built on top of generated code to simplify common tasks.
#9about 1 minute
Key takeaways on building a user-friendly SDK
A summary of how code generation combined with a focus on developer experience can create a powerful and discoverable SDK for a large API.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
03:18 MIN
Exploring the platform's technology stack and architecture
Shared mobility for everyone!
Unlock full access
Log in or set up an account to access this feature and more.
02:08 MIN
Creating effective developer tooling and SDKs
The ABC of DX
Unlock full access
Log in or set up an account to access this feature and more.
09:59 MIN
Implementing a developer portal with Spotify Backstage
Building Developer Experience - Brick by Brick
Unlock full access
Log in or set up an account to access this feature and more.
04:35 MIN
How to build applications on the Bluesky platform
Building Bluesky as a Platform - Eric Bailey
Unlock full access
Log in or set up an account to access this feature and more.
00:56 MIN
Using SDKs for optional fine-grained in-code control
Keymate – Modern Authorization for Developers
Unlock full access
Log in or set up an account to access this feature and more.
01:50 MIN
Creating a seamless developer experience for network APIs
Code meets connectivity - Developers as the powerhouse of Network API innovation
Unlock full access
Log in or set up an account to access this feature and more.
02:50 MIN
Q&A on tooling, support, and empathy in tech
The ABC of DX
Unlock full access
Log in or set up an account to access this feature and more.
01:56 MIN
Implementing tools to enhance the developer workflow
Next Level Enterprise Architecture: Modular, Flexible, Scalable, Multichannel and AI-Ready?
Unlock full access
Log in or set up an account to access this feature and more.
Featured Partners
Related Videos
Route from Java to Kotlin
Christian Woerz
Introducing Kotlin Multiplatform in an existing project
Marco Gomiero
Kotlin Multiplatform - True power of native code reuse
Petar Marijanović
API Design - Getting Started
Alen Pokos
Give your build some love, it will give it back!
Amanda Martin
100 million days in Vienna: A story of APIs & AI in tourism.
Thomas Reiter
Why Kotlin is the better Java and how you can start using it
Iris Hunkeler
OpenAPI meets OpenAI
Christopher Walles
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.



Saby Company
Delebio, Italy
Intermediate
Java
Docker
Kotlin
Groovy
Node.js
+2

Aufmaster GmbH
Frankfurt, Germany
Intermediate
Senior
GIT
Kotlin





Amadeus FiRe AG
Remote
€60-70K
Kotlin
Unit testing
Continuous Integration